LLVM OpenMP
runtime
test
transform
tile
parallel-wsloop-collapse-through-tile.cpp
Go to the documentation of this file.
1
// RUN: %libomp-cxx-compile-and-run | FileCheck %s --match-full-lines
2
// RUN: %libomp-cxx-compile -O2 && %libomp-run | FileCheck %s --match-full-lines
3
4
// collapse(3) reaches through a tiled loop to include the inner `j` loop.
5
6
#ifndef HEADER
7
#define HEADER
8
9
#include <cstdlib>
10
#include <cstdio>
11
12
int
main
() {
13
printf(
"do\n"
);
14
#pragma omp parallel for collapse(3) num_threads(1)
15
#pragma omp tile sizes(4)
16
for
(
int
i
= 0;
i
< 6; ++
i
)
17
for
(
int
j
= 0;
j
< 2; ++
j
)
18
printf(
"i=%d j=%d\n"
,
i
,
j
);
19
printf(
"done\n"
);
20
return
EXIT_SUCCESS;
21
}
22
23
#endif
/* HEADER */
24
25
// CHECK: do
26
// CHECK-NEXT: i=0 j=0
27
// CHECK-NEXT: i=0 j=1
28
// CHECK-NEXT: i=1 j=0
29
// CHECK-NEXT: i=1 j=1
30
// CHECK-NEXT: i=2 j=0
31
// CHECK-NEXT: i=2 j=1
32
// CHECK-NEXT: i=3 j=0
33
// CHECK-NEXT: i=3 j=1
34
// CHECK-NEXT: i=4 j=0
35
// CHECK-NEXT: i=4 j=1
36
// CHECK-NEXT: i=5 j=0
37
// CHECK-NEXT: i=5 j=1
38
// CHECK-NEXT: done
i
#define i
Definition
kmp_stub.cpp:87
j
int j
Definition
omp_single_copyprivate.c:6
main
int main()
Definition
parallel-wsloop-collapse-through-tile.cpp:12
Generated on
for LLVM OpenMP by
1.14.0