blob: e5fbc288cef3964de807734747aeefb6da8d9afc [file] [log] [blame]
! RUN: %flang_fc1 -fdebug-unparse -fopenmp -fopenmp-version=60 %s | FileCheck --ignore-case %s
! RUN: %flang_fc1 -fdebug-dump-parse-tree -fopenmp -fopenmp-version=60 %s | FileCheck --check-prefix="PARSE-TREE" %s
subroutine openmp_do_interchange(x)
integer :: x, y
!CHECK: !$omp do
!CHECK: !$omp interchange permutation
!$omp do
!$omp interchange permutation(2,1)
!CHECK: do
do x = 1, 100
!CHECK: do
do y = 1, 100
call F1()
!CHECK: end do
end do
!CHECK: end do
end do
!CHECK: !$omp end interchange
!$omp end interchange
!$omp end do
!PARSE-TREE:| | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPLoopConstruct
!PARSE-TREE:| | | OmpBeginLoopDirective
!PARSE-TREE:| | | Block
!PARSE-TREE:| | | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPLoopConstruct
!PARSE-TREE:| | | | | OmpBeginLoopDirective
!PARSE-TREE:| | | | | | OmpDirectiveName -> llvm::omp::Directive = interchange
!PARSE-TREE:| | | | | Block
!PARSE-TREE:| | | | | | ExecutionPartConstruct -> ExecutableConstruct -> DoConstruct
END subroutine openmp_do_interchange