[Mlir-commits] [flang] [mlir] [flang][mlir][OpenMP] Add linear modifier (val, ref, uval) (PR #187142)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Tue Mar 24 14:02:39 PDT 2026


================
@@ -16,39 +16,39 @@ subroutine simple_linear
         y = x + 2
     end do
     !$omp end do
-    !COMMON: } {linear_var_types = [i32]}
+    !CHECK: } {linear_var_types = [i32]}
 end subroutine
 
 subroutine linear_step
-!COMMON: %[[X_alloca:.*]] = fir.alloca i32 {bindc_name = "x", uniq_name = "_QFlinear_stepEx"}
-!COMMON: %[[X:.*]]:2 = hlfir.declare %[[X_alloca]] {uniq_name = "_QFlinear_stepEx"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
+!CHECK: %[[X_alloca:.*]] = fir.alloca i32 {bindc_name = "x", uniq_name = "_QFlinear_stepEx"}
+!CHECK: %[[X:.*]]:2 = hlfir.declare %[[X_alloca]] {uniq_name = "_QFlinear_stepEx"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
     implicit none
     integer :: x, y, i
-    !COMMON: %[[const:.*]] = arith.constant 4 : i32
+    !CHECK: %[[const:.*]] = arith.constant 4 : i32
     !OPENMP52: omp.wsloop linear(val(%[[X]]#0 : !fir.ref<i32> = %[[const]] : i32)) {{.*}}
     !OPENMP45: omp.wsloop linear(%[[X]]#0 : !fir.ref<i32> = %[[const]] : i32) {{.*}}
     !$omp do linear(x:4)
     do i = 1, 10
         y = x + 2
     end do
     !$omp end do
-    !COMMON: } {linear_var_types = [i32]}
+    !CHECK: } {linear_var_types = [i32]}
 end subroutine
 
 subroutine do_simd_linear
-!COMMON: %[[I:.*]]:2 = hlfir.declare %{{.*}} {uniq_name = "_QFdo_simd_linearEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
-!COMMON: %[[X:.*]]:2 = hlfir.declare %{{.*}} {uniq_name = "_QFdo_simd_linearEx"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
-!COMMON: %[[CONST:.*]] = arith.constant 1 : i32
-!COMMON: %{{.*}} = arith.constant 1 : i32
-!COMMON: %[[IV_STEP:.*]] = arith.constant 1 : i32
-!COMMON: omp.wsloop {
-!OPENMP52: omp.simd linear(val(%[[X]]#0 : !fir.ref<i32> = %[[CONST]] : i32), %[[I]]#0 : !fir.ref<i32> = %[[IV_STEP]] : i32) private(@_QFdo_simd_linearEi_private_i32 {{.*}} -> %arg0 : !fir.ref<i32>) {
----------------
chichunchen wrote:

Remove private after rebase on top of https://github.com/llvm/llvm-project/pull/187766.

https://github.com/llvm/llvm-project/pull/187142


More information about the Mlir-commits mailing list