@@ -13,7 +13,7 @@ subroutine simd
13
13
! CHECK: %[[LB:.*]] = arith.constant 1 : i32
14
14
! CHECK-NEXT: %[[UB:.*]] = arith.constant 9 : i32
15
15
! CHECK-NEXT: %[[STEP:.*]] = arith.constant 1 : i32
16
- ! CHECK-NEXT: omp.simd {
16
+ ! CHECK-NEXT: omp.simd private({{.*}}) {
17
17
! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
18
18
do i= 1 , 9
19
19
! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -33,7 +33,7 @@ subroutine simd_with_if_clause(n, threshold)
33
33
! CHECK: %[[LB:.*]] = arith.constant 1 : i32
34
34
! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
35
35
! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
36
- ! CHECK: omp.simd if(%[[COND:.*]]) {
36
+ ! CHECK: omp.simd if(%[[COND:.*]]) private({{.*}}) {
37
37
! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
38
38
do i = 1 , n
39
39
! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -52,7 +52,7 @@ subroutine simd_with_simdlen_clause(n, threshold)
52
52
! CHECK: %[[LB:.*]] = arith.constant 1 : i32
53
53
! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
54
54
! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
55
- ! CHECK: omp.simd simdlen(2) {
55
+ ! CHECK: omp.simd simdlen(2) private({{.*}}) {
56
56
! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
57
57
do i = 1 , n
58
58
! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -72,7 +72,7 @@ subroutine simd_with_simdlen_clause_from_param(n, threshold)
72
72
! CHECK: %[[LB:.*]] = arith.constant 1 : i32
73
73
! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
74
74
! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
75
- ! CHECK: omp.simd simdlen(2) {
75
+ ! CHECK: omp.simd simdlen(2) private({{.*}}) {
76
76
! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
77
77
do i = 1 , n
78
78
! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -92,7 +92,7 @@ subroutine simd_with_simdlen_clause_from_expr_from_param(n, threshold)
92
92
! CHECK: %[[LB:.*]] = arith.constant 1 : i32
93
93
! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
94
94
! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
95
- ! CHECK: omp.simd simdlen(6) {
95
+ ! CHECK: omp.simd simdlen(6) private({{.*}}) {
96
96
! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
97
97
do i = 1 , n
98
98
! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -111,7 +111,7 @@ subroutine simd_with_safelen_clause(n, threshold)
111
111
! CHECK: %[[LB:.*]] = arith.constant 1 : i32
112
112
! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
113
113
! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
114
- ! CHECK: omp.simd safelen(2) {
114
+ ! CHECK: omp.simd safelen(2) private({{.*}}) {
115
115
! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
116
116
do i = 1 , n
117
117
! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -131,7 +131,7 @@ subroutine simd_with_safelen_clause_from_expr_from_param(n, threshold)
131
131
! CHECK: %[[LB:.*]] = arith.constant 1 : i32
132
132
! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
133
133
! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
134
- ! CHECK: omp.simd safelen(6) {
134
+ ! CHECK: omp.simd safelen(6) private({{.*}}) {
135
135
! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
136
136
do i = 1 , n
137
137
! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -150,7 +150,7 @@ subroutine simd_with_simdlen_safelen_clause(n, threshold)
150
150
! CHECK: %[[LB:.*]] = arith.constant 1 : i32
151
151
! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
152
152
! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
153
- ! CHECK: omp.simd safelen(2) simdlen(1) {
153
+ ! CHECK: omp.simd safelen(2) simdlen(1) private({{.*}}) {
154
154
! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
155
155
do i = 1 , n
156
156
! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -171,7 +171,7 @@ subroutine simd_with_collapse_clause(n)
171
171
! CHECK: %[[LOWER_J:.*]] = arith.constant 1 : i32
172
172
! CHECK: %[[UPPER_J:.*]] = fir.load %[[PARAM_ARG:.*]] : !fir.ref<i32>
173
173
! CHECK: %[[STEP_J:.*]] = arith.constant 1 : i32
174
- ! CHECK: omp.simd {
174
+ ! CHECK: omp.simd private({{.*}}) {
175
175
! CHECK-NEXT: omp.loop_nest (%[[ARG_0:.*]], %[[ARG_1:.*]]) : i32 = (
176
176
! CHECK-SAME: %[[LOWER_I]], %[[LOWER_J]]) to (
177
177
! CHECK-SAME: %[[UPPER_I]], %[[UPPER_J]]) inclusive step (
@@ -235,7 +235,7 @@ subroutine simd_with_nontemporal_clause(n)
235
235
! CHECK: %[[LB:.*]] = arith.constant 1 : i32
236
236
! CHECK: %[[UB:.*]] = fir.load %{{.*}}#0 : !fir.ref<i32>
237
237
! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
238
- ! CHECK: omp.simd nontemporal(%[[A_DECL]]#1, %[[C_DECL]]#1 : !fir.ref<i32>, !fir.ref<i32>) {
238
+ ! CHECK: omp.simd nontemporal(%[[A_DECL]]#1, %[[C_DECL]]#1 : !fir.ref<i32>, !fir.ref<i32>) private({{.*}}) {
239
239
! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
240
240
! $OMP SIMD NONTEMPORAL(A, C)
241
241
do i = 1 , n
@@ -249,16 +249,14 @@ subroutine lastprivate_with_simd
249
249
250
250
! CHECK: %[[VAR_SUM:.*]] = fir.alloca f32 {bindc_name = "sum", uniq_name = "_QFlastprivate_with_simdEsum"}
251
251
! CHECK: %[[VAR_SUM_DECLARE:.*]]:2 = hlfir.declare %[[VAR_SUM]] {{.*}}
252
- ! CHECK: %[[VAR_SUM_PINNED:.*]] = fir.alloca f32 {bindc_name = "sum", pinned, uniq_name = "_QFlastprivate_with_simdEsum"}
253
- ! CHECK: %[[VAR_SUM_PINNED_DECLARE:.*]]:2 = hlfir.declare %[[VAR_SUM_PINNED]] {{.*}}
254
-
255
252
implicit none
256
253
integer :: i
257
254
real :: sum
258
255
259
256
260
- ! CHECK: omp.simd {
257
+ ! CHECK: omp.simd private(@_QFlastprivate_with_simdEsum_private_ref_f32 %[[VAR_SUM_DECLARE]]#0 -> %[[VAR_SUM_PINNED:.*]], @{{.*}}) {
261
258
! CHECK: omp.loop_nest (%[[ARG:.*]]) : i32 = ({{.*}} to ({{.*}}) inclusive step ({{.*}}) {
259
+ ! CHECK: %[[VAR_SUM_PINNED_DECLARE:.*]]:2 = hlfir.declare %[[VAR_SUM_PINNED]] {{.*}}
262
260
! CHECK: %[[ADD_RESULT:.*]] = arith.addi {{.*}}
263
261
! CHECK: %[[ADD_RESULT_CONVERT:.*]] = fir.convert %[[ADD_RESULT]] : (i32) -> f32
264
262
! CHECK: hlfir.assign %[[ADD_RESULT_CONVERT]] to %[[VAR_SUM_PINNED_DECLARE]]#0 : f32, !fir.ref<f32>
@@ -283,7 +281,7 @@ subroutine simd_with_reduction_clause
283
281
! CHECK: %[[LB:.*]] = arith.constant 1 : i32
284
282
! CHECK-NEXT: %[[UB:.*]] = arith.constant 9 : i32
285
283
! CHECK-NEXT: %[[STEP:.*]] = arith.constant 1 : i32
286
- ! CHECK-NEXT: omp.simd reduction(@[[REDUCER]] %[[X:.*]]#0 -> %[[X_RED:.*]] : !fir.ref<i32>) {
284
+ ! CHECK-NEXT: omp.simd private({{.*}}) reduction(@[[REDUCER]] %[[X:.*]]#0 -> %[[X_RED:.*]] : !fir.ref<i32>) {
287
285
! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
288
286
! $omp simd reduction(+:x)
289
287
do i= 1 , 9
0 commit comments