[flang-commits] [flang] [mlir] [mlir][OpenMP][flang] make private variable allocation implicit in omp.private (PR #124019)
Leandro Lupori via flang-commits
flang-commits at lists.llvm.org
Fri Jan 24 12:33:10 PST 2025
================
@@ -13,32 +13,42 @@ module m1
contains
+!CHECK-LABEL: omp.private {type = private} @_QMm1Ftest_class_allocatable
+!CHECK: fir.call @_FortranAInitialize
+!CHECK: omp.yield
+
+!CHECK-LABEL: omp.private {type = private} @_QMm1Ftest_allocatable
+!CHECK: fir.call @_FortranAInitialize
+!CHECK: omp.yield
+
!CHECK-LABEL: omp.private {type = private} @_QMm1Ftest_pointer
!CHECK-NOT: fir.call @_FortranAInitializeClone
!CHECK: omp.yield
!CHECK-LABEL: omp.private {type = private} @_QMm1Ftest_nested
!CHECK: fir.call @_FortranAInitializeClone
-!CHECK-NEXT: omp.yield
+!CHECK: omp.yield
!CHECK-LABEL: omp.private {type = private} @_QMm1Ftest_array_of_allocs
!CHECK: fir.call @_FortranAInitializeClone
-!CHECK-NEXT: omp.yield
+!CHECK: omp.yield
!CHECK: } dealloc {
!CHECK: fir.call @_FortranAAllocatableDeallocate
!CHECK: omp.yield
!CHECK-LABEL: omp.private {type = firstprivate} @_QMm1Ftest_array
+!CHECK: fir.call @_FortranAInitialize(
!CHECK-NOT: fir.call @_FortranAInitializeClone
!CHECK: omp.yield
!CHECK-LABEL: omp.private {type = private} @_QMm1Ftest_array
+!CHECK: fir.call @_FortranAInitialize(
!CHECK: fir.call @_FortranAInitializeClone
-!CHECK-NEXT: omp.yield
+!CHECK: omp.yield
!CHECK-LABEL: omp.private {type = private} @_QMm1Ftest_scalar
!CHECK: fir.call @_FortranAInitializeClone
-!CHECK-NEXT: omp.yield
+!CHECK: omp.yield
----------------
luporl wrote:
Is there an extra `omp.barrier` now before `omp.yield`?
https://github.com/llvm/llvm-project/pull/124019
More information about the flang-commits
mailing list