42 lines · plain
1! RUN: %flang_fc1 -fdebug-unparse -fopenmp %s | FileCheck --ignore-case %s2! RUN: %flang_fc1 -fdebug-dump-parse-tree -fopenmp %s | FileCheck --check-prefix="PARSE-TREE" %s3 4subroutine parallel_work5 integer :: i6 7!CHECK: !$OMP TASKLOOP GRAINSIZE(STRICT: 500_4)8!PARSE-TREE: OmpBeginLoopDirective9!PARSE-TREE-NEXT: OmpDirectiveName -> llvm::omp::Directive = taskloop10!PARSE-TREE-NEXT: OmpClauseList -> OmpClause -> Grainsize -> OmpGrainsizeClause11!PARSE-TREE-NEXT: Modifier -> OmpPrescriptiveness -> Value = Strict12!PARSE-TREE-NEXT: Scalar -> Integer -> Expr = '500_4'13 !$omp taskloop grainsize(strict: 500)14 do i=1,1000015 call loop_body(i)16 end do17 !$omp end taskloop18 19!CHECK: !$OMP TASKLOOP GRAINSIZE(500_4)20!PARSE-TREE: OmpBeginLoopDirective21!PARSE-TREE-NEXT: OmpDirectiveName -> llvm::omp::Directive = taskloop22!PARSE-TREE-NEXT: OmpClauseList -> OmpClause -> Grainsize -> OmpGrainsizeClause23!PARSE-TREE-NEXT: Scalar -> Integer -> Expr = '500_4'24 !$omp taskloop grainsize(500)25 do i=1,1000026 call loop_body(i)27 end do28 !$omp end taskloop29 30!CHECK: !$OMP TASKLOOP NUM_TASKS(STRICT: 500_4)31!PARSE-TREE: OmpBeginLoopDirective32!PARSE-TREE-NEXT: OmpDirectiveName -> llvm::omp::Directive = taskloop33!PARSE-TREE-NEXT: OmpClauseList -> OmpClause -> NumTasks -> OmpNumTasksClause34!PARSE-TREE-NEXT: Modifier -> OmpPrescriptiveness -> Value = Strict35!PARSE-TREE-NEXT: Scalar -> Integer -> Expr = '500_4'36 !$omp taskloop num_tasks(strict: 500)37 do i=1,1000038 call loop_body(i)39 end do40 !$omp end taskloop41end subroutine parallel_work42