|
1 | 1 | ! RUN: %flang_fc1 -fopenmp -mmlir --openmp-enable-delayed-privatization-staging=true -emit-hlfir %s -o - | FileCheck %s
|
2 | 2 |
|
3 |
| -subroutine first_and_lastprivate |
| 3 | +subroutine first_and_lastprivate(var) |
4 | 4 | integer i
|
5 |
| - integer, dimension(3) :: var |
| 5 | + integer, dimension(:) :: var |
6 | 6 |
|
7 | 7 | !$omp parallel do lastprivate(i) private(var)
|
8 | 8 | do i=1,1
|
9 | 9 | end do
|
10 | 10 | !$omp end parallel do
|
11 | 11 | end subroutine
|
12 | 12 |
|
13 |
| -! CHECK: omp.private {type = private} @[[VAR_PRIVATIZER:.*Evar_private_box_3xi32]] : [[BOX_TYPE:!fir\.box<!fir\.array<3xi32>>]] init { |
| 13 | +! CHECK: omp.private {type = private} @[[VAR_PRIVATIZER:.*Evar_private_box_Uxi32]] : [[BOX_TYPE:!fir\.box<!fir\.array<\?xi32>>]] init { |
14 | 14 | ! CHECK-NEXT: ^bb0(%[[ORIG_REF:.*]]: {{.*}}, %[[PRIV_REF:.*]]: {{.*}}):
|
15 | 15 | ! CHECK: %[[ORIG_VAL:.*]] = fir.load %[[ORIG_REF]]
|
| 16 | +! CHECK: %[[BOX_DIMS_0:.*]]:3 = fir.box_dims %[[ORIG_VAL]], %{{.*}} : ([[BOX_TYPE]], index) -> (index, index, index) |
16 | 17 | ! CHECK: %[[BOX_DIMS:.*]]:3 = fir.box_dims %[[ORIG_VAL]], %{{.*}} : ([[BOX_TYPE]], index) -> (index, index, index)
|
17 | 18 | ! CHECK: %[[SHAPE_SHIFT:.*]] = fir.shape_shift %[[BOX_DIMS]]#0, %[[BOX_DIMS]]#1
|
18 |
| -! CHECK: %[[EMBOX:.*]] = fir.embox %{{.*}}(%[[SHAPE_SHIFT]]) : {{.*}} -> [[BOX_TYPE]] |
| 19 | +! CHECK: %[[EMBOX:.*]] = fir.rebox %{{.*}}(%[[SHAPE_SHIFT]]) : {{.*}} -> [[BOX_TYPE]] |
19 | 20 | ! CHECK: fir.store %[[EMBOX]] to %[[PRIV_REF]]
|
20 | 21 | ! CHECK: omp.yield(%[[PRIV_REF]] : !fir.ref<[[BOX_TYPE]]>)
|
21 | 22 | ! CHECK: }
|
22 | 23 |
|
23 | 24 | ! CHECK: omp.private {type = private} @[[I_PRIVATIZER:.*Ei_private_i32]] : i32
|
24 | 25 |
|
25 |
| -! CHECK: func.func @{{.*}}first_and_lastprivate() |
| 26 | +! CHECK: func.func @{{.*}}first_and_lastprivate({{.*}}) |
26 | 27 | ! CHECK: %[[ORIG_I_DECL:.*]]:2 = hlfir.declare {{.*}} {uniq_name = "{{.*}}Ei"}
|
27 | 28 | ! CHECK: omp.parallel {
|
28 | 29 | ! CHECK-NOT: omp.barrier
|
|
0 commit comments