xref: /llvm-project/openmp/runtime/test/transform/unroll/factor_parallel-wsloop-collapse-intfor.cpp (revision 9120562dfcc09cb4caf3052c6744049b4d9c8481)
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 
main()9 int main() {
10   printf("do\n");
11 #pragma omp parallel for collapse(2) num_threads(1)
12   for (int i = 0; i < 3; ++i)
13 #pragma omp unroll partial(2)
14     for (int j = 0; j < 3; ++j)
15       printf("i=%d j=%d\n", i, j);
16   printf("done\n");
17   return EXIT_SUCCESS;
18 }
19 
20 #endif /* HEADER */
21 
22 // CHECK:      do
23 // CHECK-NEXT: i=0 j=0
24 // CHECK-NEXT: i=0 j=1
25 // CHECK-NEXT: i=0 j=2
26 // CHECK-NEXT: i=1 j=0
27 // CHECK-NEXT: i=1 j=1
28 // CHECK-NEXT: i=1 j=2
29 // CHECK-NEXT: i=2 j=0
30 // CHECK-NEXT: i=2 j=1
31 // CHECK-NEXT: i=2 j=2
32 // CHECK-NEXT: done
33