[Mlir-commits] [mlir] [mlir][OpenMP] Don't allow firstprivate for simd (PR #146734)
LLVM Continuous Integration
llvmlistbot at llvm.org
Fri Jul 4 04:35:52 PDT 2025
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `premerge-monolithic-linux` running on `premerge-linux-1` while building `mlir` at step 7 "test-build-unified-tree-check-all".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/153/builds/36959
<details>
<summary>Here is the relevant piece of the build log for the reference</summary>
```
Step 7 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'Flang :: Fir/convert-nontemporal-to-llvm.fir' FAILED ********************
Exit Code: 2
Command Output (stderr):
--
fir-opt --fir-to-llvm-ir /build/buildbot/premerge-monolithic-linux/llvm-project/flang/test/Fir/convert-nontemporal-to-llvm.fir | /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/flang/test/Fir/convert-nontemporal-to-llvm.fir --check-prefixes=CHECK-LABEL,CHECK # RUN: at line 2
+ fir-opt --fir-to-llvm-ir /build/buildbot/premerge-monolithic-linux/llvm-project/flang/test/Fir/convert-nontemporal-to-llvm.fir
+ /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/flang/test/Fir/convert-nontemporal-to-llvm.fir --check-prefixes=CHECK-LABEL,CHECK
/build/buildbot/premerge-monolithic-linux/llvm-project/flang/test/Fir/convert-nontemporal-to-llvm.fir:36:5: error: Cannot find privatizer '@_QFtestEi_private_i32'
omp.simd nontemporal(%0, %2 : !fir.ref<i32>, !fir.ref<i32>) private(@_QFtestEi_private_i32 %3 -> %arg0 : !fir.ref<i32>) {
^
/build/buildbot/premerge-monolithic-linux/llvm-project/flang/test/Fir/convert-nontemporal-to-llvm.fir:36:5: note: see current operation:
"omp.simd"(%1, %3, %4) <{operandSegmentSizes = array<i32: 0, 0, 0, 0, 2, 1, 0>, private_syms = [@_QFtestEi_private_i32]}> ({
^bb0(%arg0: !fir.ref<i32>):
"omp.loop_nest"(%0, %6, %0) <{loop_inclusive}> ({
^bb0(%arg1: i32):
"fir.store"(%arg1, %arg0) : (i32, !fir.ref<i32>) -> ()
%7 = "fir.load"(%1) <{nontemporal}> : (!fir.ref<i32>) -> i32
%8 = "fir.load"(%2) : (!fir.ref<i32>) -> i32
%9 = "arith.addi"(%7, %8) <{overflowFlags = #arith.overflow<none>}> : (i32, i32) -> i32
"fir.store"(%9, %3) <{nontemporal}> : (i32, !fir.ref<i32>) -> ()
"omp.yield"() : () -> ()
}) : (i32, i32, i32) -> ()
}) : (!fir.ref<i32>, !fir.ref<i32>, !fir.ref<i32>) -> ()
/build/buildbot/premerge-monolithic-linux/llvm-project/flang/test/Fir/convert-nontemporal-to-llvm.fir:94:5: error: Cannot find privatizer '@_QFsimd_nontemporal_allocatableEi_private_i32'
omp.simd nontemporal(%arg0 : !fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>) private(@_QFsimd_nontemporal_allocatableEi_private_i32 %0 -> %arg2 : !fir.ref<i32>) {
^
/build/buildbot/premerge-monolithic-linux/llvm-project/flang/test/Fir/convert-nontemporal-to-llvm.fir:94:5: note: see current operation:
"omp.simd"(%arg0, %4) <{operandSegmentSizes = array<i32: 0, 0, 0, 0, 1, 1, 0>, private_syms = [@_QFsimd_nontemporal_allocatableEi_private_i32]}> ({
^bb0(%arg2: !fir.ref<i32>):
"omp.loop_nest"(%1, %3, %1) <{loop_inclusive}> ({
^bb0(%arg3: i32):
"fir.store"(%arg3, %arg2) : (i32, !fir.ref<i32>) -> ()
%7 = "fir.load"(%arg0) : (!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>) -> !fir.box<!fir.heap<!fir.array<?xi32>>>
%8 = "fir.load"(%arg2) : (!fir.ref<i32>) -> i32
%9 = "fir.convert"(%8) : (i32) -> i64
%10 = "fir.box_addr"(%7) : (!fir.box<!fir.heap<!fir.array<?xi32>>>) -> !fir.heap<!fir.array<?xi32>>
%11:3 = "fir.box_dims"(%7, %2) : (!fir.box<!fir.heap<!fir.array<?xi32>>>, index) -> (index, index, index)
%12 = "fircg.ext_array_coor"(%10, %11#1, %11#0, %9) <{operandSegmentSizes = array<i32: 1, 1, 1, 0, 0, 1, 0>}> : (!fir.heap<!fir.array<?xi32>>, index, index, i64) -> !fir.ref<i32>
%13 = "fir.load"(%12) <{nontemporal}> : (!fir.ref<i32>) -> i32
%14 = "fir.load"(%arg1) : (!fir.ref<i32>) -> i32
%15 = "arith.addi"(%13, %14) <{overflowFlags = #arith.overflow<none>}> : (i32, i32) -> i32
"fir.store"(%15, %12) <{nontemporal}> : (i32, !fir.ref<i32>) -> ()
"omp.yield"() : () -> ()
}) : (i32, i32, i32) -> ()
}) : (!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>, !fir.ref<i32>) -> ()
FileCheck error: '<stdin>' is empty.
FileCheck command line: /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/flang/test/Fir/convert-nontemporal-to-llvm.fir --check-prefixes=CHECK-LABEL,CHECK
--
...
```
</details>
https://github.com/llvm/llvm-project/pull/146734
More information about the Mlir-commits
mailing list