@@ -13,7 +13,7 @@ subroutine simd
1313 ! CHECK: %[[LB:.*]] = arith.constant 1 : i32
1414 ! CHECK-NEXT: %[[UB:.*]] = arith.constant 9 : i32
1515 ! CHECK-NEXT: %[[STEP:.*]] = arith.constant 1 : i32
16- ! CHECK-NEXT: omp.simd {
16+ ! CHECK-NEXT: omp.simd private({{.*}}) {
1717 ! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
1818 do i= 1 , 9
1919 ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -33,7 +33,7 @@ subroutine simd_with_if_clause(n, threshold)
3333 ! CHECK: %[[LB:.*]] = arith.constant 1 : i32
3434 ! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
3535 ! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
36- ! CHECK: omp.simd if(%[[COND:.*]]) {
36+ ! CHECK: omp.simd if(%[[COND:.*]]) private({{.*}}) {
3737 ! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
3838 do i = 1 , n
3939 ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -52,7 +52,7 @@ subroutine simd_with_simdlen_clause(n, threshold)
5252 ! CHECK: %[[LB:.*]] = arith.constant 1 : i32
5353 ! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
5454 ! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
55- ! CHECK: omp.simd simdlen(2) {
55+ ! CHECK: omp.simd simdlen(2) private({{.*}}) {
5656 ! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
5757 do i = 1 , n
5858 ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -72,7 +72,7 @@ subroutine simd_with_simdlen_clause_from_param(n, threshold)
7272 ! CHECK: %[[LB:.*]] = arith.constant 1 : i32
7373 ! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
7474 ! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
75- ! CHECK: omp.simd simdlen(2) {
75+ ! CHECK: omp.simd simdlen(2) private({{.*}}) {
7676 ! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
7777 do i = 1 , n
7878 ! 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)
9292 ! CHECK: %[[LB:.*]] = arith.constant 1 : i32
9393 ! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
9494 ! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
95- ! CHECK: omp.simd simdlen(6) {
95+ ! CHECK: omp.simd simdlen(6) private({{.*}}) {
9696 ! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
9797 do i = 1 , n
9898 ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -111,7 +111,7 @@ subroutine simd_with_safelen_clause(n, threshold)
111111 ! CHECK: %[[LB:.*]] = arith.constant 1 : i32
112112 ! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
113113 ! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
114- ! CHECK: omp.simd safelen(2) {
114+ ! CHECK: omp.simd safelen(2) private({{.*}}) {
115115 ! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
116116 do i = 1 , n
117117 ! 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)
131131 ! CHECK: %[[LB:.*]] = arith.constant 1 : i32
132132 ! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
133133 ! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
134- ! CHECK: omp.simd safelen(6) {
134+ ! CHECK: omp.simd safelen(6) private({{.*}}) {
135135 ! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
136136 do i = 1 , n
137137 ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -150,7 +150,7 @@ subroutine simd_with_simdlen_safelen_clause(n, threshold)
150150 ! CHECK: %[[LB:.*]] = arith.constant 1 : i32
151151 ! CHECK: %[[UB:.*]] = fir.load %[[ARG_N]]#0
152152 ! CHECK: %[[STEP:.*]] = arith.constant 1 : i32
153- ! CHECK: omp.simd safelen(2) simdlen(1) {
153+ ! CHECK: omp.simd safelen(2) simdlen(1) private({{.*}}) {
154154 ! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
155155 do i = 1 , n
156156 ! CHECK: fir.store %[[I]] to %[[LOCAL:.*]]#1 : !fir.ref<i32>
@@ -171,7 +171,7 @@ subroutine simd_with_collapse_clause(n)
171171 ! CHECK: %[[LOWER_J:.*]] = arith.constant 1 : i32
172172 ! CHECK: %[[UPPER_J:.*]] = fir.load %[[PARAM_ARG:.*]] : !fir.ref<i32>
173173 ! CHECK: %[[STEP_J:.*]] = arith.constant 1 : i32
174- ! CHECK: omp.simd {
174+ ! CHECK: omp.simd private({{.*}}) {
175175 ! CHECK-NEXT: omp.loop_nest (%[[ARG_0:.*]], %[[ARG_1:.*]]) : i32 = (
176176 ! CHECK-SAME: %[[LOWER_I]], %[[LOWER_J]]) to (
177177 ! CHECK-SAME: %[[UPPER_I]], %[[UPPER_J]]) inclusive step (
@@ -235,7 +235,7 @@ subroutine simd_with_nontemporal_clause(n)
235235 ! CHECK: %[[LB:.*]] = arith.constant 1 : i32
236236 ! CHECK: %[[UB:.*]] = fir.load %{{.*}}#0 : !fir.ref<i32>
237237 ! 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({{.*}}) {
239239 ! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
240240 ! $OMP SIMD NONTEMPORAL(A, C)
241241 do i = 1 , n
@@ -249,16 +249,14 @@ subroutine lastprivate_with_simd
249249
250250! CHECK: %[[VAR_SUM:.*]] = fir.alloca f32 {bindc_name = "sum", uniq_name = "_QFlastprivate_with_simdEsum"}
251251! 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-
255252 implicit none
256253 integer :: i
257254 real :: sum
258255
259256
260- ! CHECK: omp.simd {
257+ ! CHECK: omp.simd private(@_QFlastprivate_with_simdEsum_private_ref_f32 %[[VAR_SUM_DECLARE]]#0 -> %[[VAR_SUM_PINNED:.*]], @{{.*}}) {
261258! CHECK: omp.loop_nest (%[[ARG:.*]]) : i32 = ({{.*}} to ({{.*}}) inclusive step ({{.*}}) {
259+ ! CHECK: %[[VAR_SUM_PINNED_DECLARE:.*]]:2 = hlfir.declare %[[VAR_SUM_PINNED]] {{.*}}
262260! CHECK: %[[ADD_RESULT:.*]] = arith.addi {{.*}}
263261! CHECK: %[[ADD_RESULT_CONVERT:.*]] = fir.convert %[[ADD_RESULT]] : (i32) -> f32
264262! 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
283281 ! CHECK: %[[LB:.*]] = arith.constant 1 : i32
284282 ! CHECK-NEXT: %[[UB:.*]] = arith.constant 9 : i32
285283 ! 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>) {
287285 ! CHECK-NEXT: omp.loop_nest (%[[I:.*]]) : i32 = (%[[LB]]) to (%[[UB]]) inclusive step (%[[STEP]]) {
288286 ! $omp simd reduction(+:x)
289287 do i= 1 , 9
0 commit comments