LLVM OpenMP 22.0.0git
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
7 implicit none
8 integer i
9
10 call kernel(7,17,3,2)
11 call kernel(7,17,3,3)
12
13end program
14
15
16subroutine 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
31end 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
subroutine kernel(lb, ub, step, ts)
program tile_do_2d_varsizes
#define i
Definition kmp_stub.cpp:87