LLVM OpenMP
do-looprange.f90
Go to the documentation of this file.
1! RUN: %flang %flags %openmp_flags -fopenmp-version=60 %s -o %t.exe
2! RUN: %t.exe | FileCheck %s --match-full-lines
3
4program fuse_full
5 implicit none
6 integer i, j, k, u
7
8 print *, 'do'
9
10 !$OMP FUSE LOOPRANGE(2,2)
11 do i=5, 25, 5
12 print '("i=", I0)', i
13 end do
14 do j=10, 100, 10
15 print '("j=", I0)', j
16 end do
17 do k=10, 0, -1
18 print '("k=", I0)', k
19 end do
20 do u=5, 25, 5
21 print '("u=", I0)', u
22 end do
23 !$OMP END FUSE
24
25 print *, 'done'
26end program
27
28! CHECK: do
29! CHECK-NEXT: i=5
30! CHECK-NEXT: i=10
31! CHECK-NEXT: i=15
32! CHECK-NEXT: i=20
33! CHECK-NEXT: i=25
34! CHECK-NEXT: j=10
35! CHECK-NEXT: k=10
36! CHECK-NEXT: j=20
37! CHECK-NEXT: k=9
38! CHECK-NEXT: j=30
39! CHECK-NEXT: k=8
40! CHECK-NEXT: j=40
41! CHECK-NEXT: k=7
42! CHECK-NEXT: j=50
43! CHECK-NEXT: k=6
44! CHECK-NEXT: j=60
45! CHECK-NEXT: k=5
46! CHECK-NEXT: j=70
47! CHECK-NEXT: k=4
48! CHECK-NEXT: j=80
49! CHECK-NEXT: k=3
50! CHECK-NEXT: j=90
51! CHECK-NEXT: k=2
52! CHECK-NEXT: j=100
53! CHECK-NEXT: k=1
54! CHECK-NEXT: k=0
55! CHECK-NEXT: u=5
56! CHECK-NEXT: u=10
57! CHECK-NEXT: u=15
58! CHECK-NEXT: u=20
59! CHECK-NEXT: u=25
60! CHECK-NEXT: done
program fuse_full
#define i
Definition kmp_stub.cpp:87