LLVM OpenMP
20.0.0git
runtime
test
transform
reverse
parallel-wsloop-collapse-intfor.cpp
Go to the documentation of this file.
1
// RUN: %libomp-cxx-compile-and-run | FileCheck %s --match-full-lines
2
3
#ifndef HEADER
4
#define HEADER
5
6
#include <cstdlib>
7
#include <cstdio>
8
9
int
main
() {
10
printf(
"do\n"
);
11
#pragma omp parallel for collapse(3) num_threads(1)
12
for
(
int
i
= 0;
i
< 3; ++
i
)
13
#pragma omp reverse
14
for
(
int
j
= 0;
j
< 3; ++
j
)
15
for
(
int
k = 0; k < 3; ++k)
16
printf(
"i=%d j=%d k=%d\n"
,
i
,
j
, k);
17
printf(
"done\n"
);
18
return
EXIT_SUCCESS;
19
}
20
21
#endif
/* HEADER */
22
23
// CHECK: do
24
// CHECK-NEXT: i=0 j=2 k=0
25
// CHECK-NEXT: i=0 j=2 k=1
26
// CHECK-NEXT: i=0 j=2 k=2
27
// CHECK-NEXT: i=0 j=1 k=0
28
// CHECK-NEXT: i=0 j=1 k=1
29
// CHECK-NEXT: i=0 j=1 k=2
30
// CHECK-NEXT: i=0 j=0 k=0
31
// CHECK-NEXT: i=0 j=0 k=1
32
// CHECK-NEXT: i=0 j=0 k=2
33
// CHECK-NEXT: i=1 j=2 k=0
34
// CHECK-NEXT: i=1 j=2 k=1
35
// CHECK-NEXT: i=1 j=2 k=2
36
// CHECK-NEXT: i=1 j=1 k=0
37
// CHECK-NEXT: i=1 j=1 k=1
38
// CHECK-NEXT: i=1 j=1 k=2
39
// CHECK-NEXT: i=1 j=0 k=0
40
// CHECK-NEXT: i=1 j=0 k=1
41
// CHECK-NEXT: i=1 j=0 k=2
42
// CHECK-NEXT: i=2 j=2 k=0
43
// CHECK-NEXT: i=2 j=2 k=1
44
// CHECK-NEXT: i=2 j=2 k=2
45
// CHECK-NEXT: i=2 j=1 k=0
46
// CHECK-NEXT: i=2 j=1 k=1
47
// CHECK-NEXT: i=2 j=1 k=2
48
// CHECK-NEXT: i=2 j=0 k=0
49
// CHECK-NEXT: i=2 j=0 k=1
50
// CHECK-NEXT: i=2 j=0 k=2
51
// CHECK-NEXT: done
main
int main()
Definition:
parallel-wsloop-collapse-intfor.cpp:9
i
#define i
Definition:
kmp_stub.cpp:87
j
int j
Definition:
omp_single_copyprivate.c:6
Generated on Wed Feb 5 2025 10:57:21 for LLVM OpenMP by
1.9.6