summaryrefslogtreecommitdiff
path: root/flang/test/Parser/OpenMP/fuse-looprange.f90
blob: 75ec15fddd65f7365f40bfd3893fc2c91ee100b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
! 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_fuse(x)

  integer, intent(inout)::x

!CHECK: !$omp fuse looprange
!$omp  fuse looprange(1,2)
!CHECK: do
  do x = 1, 100
  	call F1()
!CHECK: end do
  end do
!CHECK: do
  do x = 1, 100
  	call F1()
!CHECK: end do
  end do
!CHECK: do
  do x = 1, 100
  	call F1()
!CHECK: end do
  end do
!CHECK: !$omp end fuse
!$omp end fuse

!PARSE-TREE: OpenMPConstruct -> OpenMPLoopConstruct
!PARSE-TREE: OmpBeginLoopDirective
!PARSE-TREE: OmpDirectiveName -> llvm::omp::Directive = fuse
!PARSE-TREE: OmpClauseList -> OmpClause -> Looprange -> OmpLoopRangeClause
!PARSE-TREE: Scalar -> Integer -> Constant -> Expr = '1_4'
!PARSE-TREE: LiteralConstant -> IntLiteralConstant = '1'
!PARSE-TREE: Scalar -> Integer -> Constant -> Expr = '2_4'
!PARSE-TREE: LiteralConstant -> IntLiteralConstant = '2'

END subroutine openmp_fuse