LLVM OpenMP
20.0.0git
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
c
d
e
g
h
i
m
n
p
r
s
t
u
Functions
c
d
e
g
i
m
n
p
r
s
u
Variables
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
w
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
Enumerations
Enumerator
Related Functions
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Typedefs
_
a
b
c
d
e
i
k
l
m
n
o
p
r
t
u
Enumerations
_
b
c
d
f
k
l
n
o
s
t
Enumerator
_
a
b
c
d
e
f
k
l
n
o
p
r
s
t
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
runtime
test
transform
tile
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 tile
sizes
(3, 3)
14
for
(
int
j
= 0;
j
< 4; ++
j
)
15
for
(
int
k = 0; k < 5; ++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
25
// Full tile
26
// CHECK-NEXT: i=0 j=0 k=0
27
// CHECK-NEXT: i=0 j=0 k=1
28
// CHECK-NEXT: i=0 j=0 k=2
29
// CHECK-NEXT: i=0 j=1 k=0
30
// CHECK-NEXT: i=0 j=1 k=1
31
// CHECK-NEXT: i=0 j=1 k=2
32
// CHECK-NEXT: i=0 j=2 k=0
33
// CHECK-NEXT: i=0 j=2 k=1
34
// CHECK-NEXT: i=0 j=2 k=2
35
36
// Partial tile
37
// CHECK-NEXT: i=0 j=0 k=3
38
// CHECK-NEXT: i=0 j=0 k=4
39
// CHECK-NEXT: i=0 j=1 k=3
40
// CHECK-NEXT: i=0 j=1 k=4
41
// CHECK-NEXT: i=0 j=2 k=3
42
// CHECK-NEXT: i=0 j=2 k=4
43
44
// Partial tile
45
// CHECK-NEXT: i=0 j=3 k=0
46
// CHECK-NEXT: i=0 j=3 k=1
47
// CHECK-NEXT: i=0 j=3 k=2
48
49
// Partial tile
50
// CHECK-NEXT: i=0 j=3 k=3
51
// CHECK-NEXT: i=0 j=3 k=4
52
53
// Full tile
54
// CHECK-NEXT: i=1 j=0 k=0
55
// CHECK-NEXT: i=1 j=0 k=1
56
// CHECK-NEXT: i=1 j=0 k=2
57
// CHECK-NEXT: i=1 j=1 k=0
58
// CHECK-NEXT: i=1 j=1 k=1
59
// CHECK-NEXT: i=1 j=1 k=2
60
// CHECK-NEXT: i=1 j=2 k=0
61
// CHECK-NEXT: i=1 j=2 k=1
62
// CHECK-NEXT: i=1 j=2 k=2
63
64
// Partial tiles
65
// CHECK-NEXT: i=1 j=0 k=3
66
// CHECK-NEXT: i=1 j=0 k=4
67
// CHECK-NEXT: i=1 j=1 k=3
68
// CHECK-NEXT: i=1 j=1 k=4
69
// CHECK-NEXT: i=1 j=2 k=3
70
// CHECK-NEXT: i=1 j=2 k=4
71
// CHECK-NEXT: i=1 j=3 k=0
72
// CHECK-NEXT: i=1 j=3 k=1
73
// CHECK-NEXT: i=1 j=3 k=2
74
// CHECK-NEXT: i=1 j=3 k=3
75
// CHECK-NEXT: i=1 j=3 k=4
76
77
// Full tile
78
// CHECK-NEXT: i=2 j=0 k=0
79
// CHECK-NEXT: i=2 j=0 k=1
80
// CHECK-NEXT: i=2 j=0 k=2
81
// CHECK-NEXT: i=2 j=1 k=0
82
// CHECK-NEXT: i=2 j=1 k=1
83
// CHECK-NEXT: i=2 j=1 k=2
84
// CHECK-NEXT: i=2 j=2 k=0
85
// CHECK-NEXT: i=2 j=2 k=1
86
// CHECK-NEXT: i=2 j=2 k=2
87
88
// Partial tiles
89
// CHECK-NEXT: i=2 j=0 k=3
90
// CHECK-NEXT: i=2 j=0 k=4
91
// CHECK-NEXT: i=2 j=1 k=3
92
// CHECK-NEXT: i=2 j=1 k=4
93
// CHECK-NEXT: i=2 j=2 k=3
94
// CHECK-NEXT: i=2 j=2 k=4
95
// CHECK-NEXT: i=2 j=3 k=0
96
// CHECK-NEXT: i=2 j=3 k=1
97
// CHECK-NEXT: i=2 j=3 k=2
98
// CHECK-NEXT: i=2 j=3 k=3
99
// CHECK-NEXT: i=2 j=3 k=4
100
// CHECK-NEXT: done
main
int main()
Definition:
parallel-wsloop-collapse-intfor.cpp:9
i
#define i
Definition:
kmp_stub.cpp:87
sizes
size_t sizes[]
Definition:
kmp_taskdeps.cpp:60
j
int j
Definition:
omp_single_copyprivate.c:6
Generated on Fri Jun 6 2025 23:29:18 for LLVM OpenMP by
1.9.6