LLVM OpenMP
22.0.0git
runtime
test
transform
tile
do_2d_varsizes.f90
Go to the documentation of this file.
1
! This test checks lowering of OpenMP tile directive
2
3
! RUN: %flang %flags %openmp_flags -fopenmp-version=51 %s -o %t.exe
4
! RUN: %t.exe | FileCheck %s --match-full-lines
5
6
program
tile_do_2d_varsizes
7
implicit none
8
integer
i
9
10
call
kernel
(7,17,3,2)
11
call
kernel
(7,17,3,3)
12
13
end program
14
15
16
subroutine
kernel
(lb, ub, step, ts)
17
integer
i, j, lb, ub, step, ts
18
19
print *,
'do'
20
21
!$OMP TILE SIZES(ts,ts)
22
do
i = lb, ub, step
23
do
j = 0, 2
24
print
'("i=", I0," j=", I0)'
, i, j
25
end do
26
end do
27
!$OMP END TILE
28
29
print *,
'done'
30
31
end subroutine
32
33
! CHECK: do
34
! CHECK-NEXT: i=7 j=0
35
! CHECK-NEXT: i=7 j=1
36
! CHECK-NEXT: i=10 j=0
37
! CHECK-NEXT: i=10 j=1
38
! CHECK-NEXT: i=7 j=2
39
! CHECK-NEXT: i=10 j=2
40
! CHECK-NEXT: i=13 j=0
41
! CHECK-NEXT: i=13 j=1
42
! CHECK-NEXT: i=16 j=0
43
! CHECK-NEXT: i=16 j=1
44
! CHECK-NEXT: i=13 j=2
45
! CHECK-NEXT: i=16 j=2
46
! CHECK-NEXT: done
47
48
! CHECK: do
49
! CHECK-NEXT: i=7 j=0
50
! CHECK-NEXT: i=7 j=1
51
! CHECK-NEXT: i=7 j=2
52
! CHECK-NEXT: i=10 j=0
53
! CHECK-NEXT: i=10 j=1
54
! CHECK-NEXT: i=10 j=2
55
! CHECK-NEXT: i=13 j=0
56
! CHECK-NEXT: i=13 j=1
57
! CHECK-NEXT: i=13 j=2
58
! CHECK-NEXT: i=16 j=0
59
! CHECK-NEXT: i=16 j=1
60
! CHECK-NEXT: i=16 j=2
61
! CHECK-NEXT: done
kernel
subroutine kernel(lb, ub, step, ts)
Definition
do_2d_varsizes.f90:17
tile_do_2d_varsizes
program tile_do_2d_varsizes
Definition
do_2d_varsizes.f90:6
i
#define i
Definition
kmp_stub.cpp:87
Generated on
for LLVM OpenMP by
1.14.0