[Mlir-commits] [mlir] [MLIR][Linalg] Specialize more binary elementwise ops (PR #192290)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed May 20 04:51:54 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 8071 tests passed
* 618 tests skipped
* 3 tests failed

## Failed Tests
(click on a test name to see its output)

### MLIR
<details>
<summary>MLIR.Target/LLVMIR/openmp-cli-fuse01.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-fuse01.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-fuse01.mlir --enable-var-scope
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-fuse01.mlir
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-fuse01.mlir --enable-var-scope
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-fuse01.mlir:70:16: error: CHECK-NEXT: is not on the line after the previous match
# | // CHECK-NEXT: [[OMP_FUSED_INNER_COND13]]:
# |                ^
# | <stdin>:54:1: note: 'next' match was here
# | omp.fused.inner.cond13: ; preds = %omp.region.cont, %omp.fused.inner.cond
# | ^
# | <stdin>:49:1: note: previous match ended here
# | 
# | ^
# | <stdin>:50:1: note: non-matching line after previous match is here
# | omp_omp.loop.cond3: ; No predecessors!
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-cli-fuse01.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         49:  
# |         50: omp_omp.loop.cond3: ; No predecessors! 
# |         51:  %omp_omp.loop.cmp9 = icmp ult i32 %omp_fused.iv, %2 
# |         52:  br i1 %omp_omp.loop.cmp9, label %omp_omp.loop.body4, label %omp_omp.loop.exit6 
# |         53:  
# |         54: omp.fused.inner.cond13: ; preds = %omp.region.cont, %omp.fused.inner.cond 
# | next:70     !~~~~~~~~~~~~~~~~~~~~~~                                                    error: match on wrong line
# |         55:  %7 = icmp slt i32 %omp_fused.iv, %2 
# |         56:  br i1 %7, label %omp_omp.loop.body4, label %omp.fused.pre_latch 
# |         57:  
# |         58: omp_omp.loop.body4: ; preds = %omp.fused.inner.cond13, %omp_omp.loop.cond3 
# |         59:  br label %omp.loop.region12 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>MLIR.Target/LLVMIR/openmp-llvm.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-llvm.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-llvm.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-llvm.mlir
# .---command stderr------------
# | mlir-translate: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:926: void llvm::OpenMPIRBuilder::finalize(Function *): Assertion `Extractor->isEligible() && "Expected OpenMP outlining to be possible!"' failed.
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir -split-input-file /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-llvm.mlir
# |  #0 0x0000000000ec0188 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:880:13
# |  #1 0x0000000000ebd151 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# |  #2 0x0000000000ec12c1 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:448:38
# |  #3 0x00007d5eadff0330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# |  #4 0x00007d5eae049b2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# |  #5 0x00007d5eadff027e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# |  #6 0x00007d5eadfd38ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# |  #7 0x00007d5eadfd381b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# |  #8 0x00007d5eadfe6517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# |  #9 0x0000000002c72d28 doit /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:109:5
# | #10 0x0000000002c72d28 doit /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:137:12
# | #11 0x0000000002c72d28 doit /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:127:12
# | #12 0x0000000002c72d28 isPossible /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:255:12
# | #13 0x0000000002c72d28 isPossible /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:509:12
# | #14 0x0000000002c72d28 isa<llvm::FunctionType, llvm::Type *> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:548:11
# | #15 0x0000000002c72d28 cast<llvm::FunctionType, llvm::Type> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:572:10
# | #16 0x0000000002c72d28 getFunctionType /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/IR/Function.h:212:12
# | #17 0x0000000002c72d28 getReturnType /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/IR/Function.h:216:40
# | #18 0x0000000002c72d28 llvm::OpenMPIRBuilder::finalize(llvm::Function*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:945:24
# | #19 0x000000000183feb3 mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef, bool, llvm::vfs::FileSystem*) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:2604:28
# | #20 0x000000000182c4e8 _M_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:199:51
# | #21 0x000000000182c4e8 get /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:470:21
# | #22 0x000000000182c4e8 operator bool /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:487:16
# | #23 0x000000000182c4e8 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp:31:14
# | #24 0x000000000182c4e8 __invoke_impl<llvm::LogicalResult, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp:28:7) &, mlir::Operation *, llvm::raw_ostream &> /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14
# | #25 0x000000000182c4e8 __invoke_r<llvm::LogicalResult, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp:28:7) &, mlir::Operation *, llvm::raw_ostream &> /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:114:9
# | #26 0x000000000182c4e8 std::_Function_handler<llvm::LogicalResult (mlir::Operation*, llvm::raw_ostream&), mlir::registerToLLVMIRTranslation()::$_0>::_M_invoke(std::_Any_data const&, mlir::Operation*&&, llvm::raw_ostream&) /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:290:9
# | #27 0x0000000000fe9122 operator() /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591:9
# | #28 0x0000000000fe9122 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/Translation.cpp:152:16
# | #29 0x0000000000fe9122 __invoke_impl<llvm::LogicalResult, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/Translation.cpp:140:7) &, const std::shared_ptr<llvm::SourceMgr> &, llvm::raw_ostream &, mlir::MLIRContext *> /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14
# | #30 0x0000000000fe9122 __invoke_r<llvm::LogicalResult, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/Translation.cpp:140:7) &, const std::shared_ptr<llvm::SourceMgr> &, llvm::raw_ostream &, mlir::MLIRContext *> /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:114:9
# | #31 0x0000000000fe9122 std::_Function_handler<llvm::LogicalResult (std::shared_ptr<llvm::SourceMgr> const&, llvm::raw_ostream&, mlir::MLIRContext*), mlir::TranslateFromMLIRRegistration::TranslateFromMLIRRegistration(llvm::StringRef, llvm::StringRef, std::function<llvm::LogicalResult (mlir::Operation*, llvm::raw_ostream&)> const&, std::function<void (mlir::DialectRegistry&)> const&)::$_0>::_M_invoke(std::_Any_data const&, std::shared_ptr<llvm::SourceMgr> const&, llvm::raw_ostream&, mlir::MLIRContext*&&) /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:290:9
# | #32 0x0000000000e8b38c operator() /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591:9
# | #33 0x0000000000e8b38c operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Tools/mlir-translate/Translation.h:81:12
# | #34 0x0000000000e8b38c operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp:187:18
# | #35 0x0000000000e8b38c llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::mlirTranslateMain(int, char**, llvm::StringRef)::$_1>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #36 0x0000000000ff7d39 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:403:6
# | #37 0x0000000000ff7d39 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
# | #38 0x0000000000ff7d39 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:111:12
# | #39 0x0000000000ff7d39 llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>::callback_fn<mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #40 0x0000000000ff7c84 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
# | #41 0x0000000000ff7c84 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0::operator()(llvm::StringRef) const /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:94:13
# | #42 0x0000000000ff791f interleave<const llvm::StringRef *, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:81:23), (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:2300:49), void> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:0:0
# | #43 0x0000000000ff791f interleave<llvm::SmallVector<llvm::StringRef, 8U>, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:81:23), llvm::raw_ostream, llvm::StringRef> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:2300:3
# | #44 0x0000000000ff791f mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:97:3
# | #45 0x0000000000ff7b07 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:403:6
# | #46 0x0000000000ff7b07 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:113:3
# | #47 0x0000000000e87a0e mlir::mlirTranslateMain(int, char**, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp:203:14
# | #48 0x0000000000e87610 main /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/tools/mlir-translate/mlir-translate.cpp:42:17
# | #49 0x00007d5eadfd51ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #50 0x00007d5eadfd528b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #51 0x0000000000e87505 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate+0xe87505)
# `-----------------------------
# error: command failed with exit status: -6
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-llvm.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-llvm.mlir:1337:17: error: CHECK-LABEL: expected string not found in input
# | // CHECK-LABEL: @collapse_wsloop_dynamic
# |                 ^
# | <stdin>:5506:29: note: scanning from here
# | define void @collapse_wsloop(i32 %0, i32 %1, i32 %2, i32 %3, i32 %4, i32 %5, i32 %6, i32 %7, i32 %8, ptr %9) {
# |                             ^
# | <stdin>:5552:70: note: possible intended match here
# |  call void (ptr, i32, ptr, ...) @__kmpc_fork_call(ptr @1, i32 1, ptr @collapse_wsloop..omp_par, ptr %structArg)
# |                                                                      ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-llvm.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |               .
# |               .
# |               .
# |            5501: @0 = private unnamed_addr constant [23 x i8] c";unknown;unknown;0;0;;\00", align 1 
# |            5502: @1 = private unnamed_addr constant %struct.ident_t { i32 0, i32 2, i32 0, i32 22, ptr @0 }, align 8 
# |            5503: @2 = private unnamed_addr constant %struct.ident_t { i32 0, i32 514, i32 0, i32 22, ptr @0 }, align 8 
# |            5504: @3 = private unnamed_addr constant %struct.ident_t { i32 0, i32 66, i32 0, i32 22, ptr @0 }, align 8 
# |            5505:  
# |            5506: define void @collapse_wsloop(i32 %0, i32 %1, i32 %2, i32 %3, i32 %4, i32 %5, i32 %6, i32 %7, i32 %8, ptr %9) { 
# | label:1337'0                                 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |            5507:  %structArg = alloca { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }, align 8 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            5508:  %.reloaded = alloca i32, align 4 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            5509:  %.reloaded28 = alloca i32, align 4 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            5510:  %.reloaded29 = alloca i32, align 4 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            5511:  %.reloaded30 = alloca i32, align 4 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |               .
# |               .
# |               .
# |            5547:  store ptr %.reloaded34, ptr %gep_.reloaded34, align 8 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            5548:  %gep_.reloaded35 = getelementptr { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }, ptr %structArg, i32 0, i32 8 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            5549:  store ptr %.reloaded35, ptr %gep_.reloaded35, align 8 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            5550:  %gep_ = getelementptr { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }, ptr %structArg, i32 0, i32 9 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            5551:  store ptr %9, ptr %gep_, align 8 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            5552:  call void (ptr, i32, ptr, ...) @__kmpc_fork_call(ptr @1, i32 1, ptr @collapse_wsloop..omp_par, ptr %structArg) 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | label:1337'1                                                                          ?                                           possible intended match
# |            5553:  br label %omp.par.exit 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |            5554:  
# | label:1337'0     ~
# |            5555: omp.par.exit: ; preds = %omp_parallel 
# | label:1337'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            5556:  ret void 
# | label:1337'0     ~~~~~~~~~~
# |            5557: } 
# | label:1337'0     ~~
# |               .
# |               .
# |               .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>MLIR.Target/LLVMIR/openmp-taskloop-collapse.mlir</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-taskloop-collapse.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-taskloop-collapse.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-taskloop-collapse.mlir
# .---command stderr------------
# | mlir-translate: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:926: void llvm::OpenMPIRBuilder::finalize(Function *): Assertion `Extractor->isEligible() && "Expected OpenMP outlining to be possible!"' failed.
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-taskloop-collapse.mlir
# |  #0 0x0000000000ec0188 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:880:13
# |  #1 0x0000000000ebd151 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# |  #2 0x0000000000ec12c1 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:448:38
# |  #3 0x0000799085098330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# |  #4 0x00007990850f1b2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# |  #5 0x000079908509827e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# |  #6 0x000079908507b8ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# |  #7 0x000079908507b81b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# |  #8 0x000079908508e517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# |  #9 0x0000000002c72d28 doit /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:109:5
# | #10 0x0000000002c72d28 doit /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:137:12
# | #11 0x0000000002c72d28 doit /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:127:12
# | #12 0x0000000002c72d28 isPossible /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:255:12
# | #13 0x0000000002c72d28 isPossible /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:509:12
# | #14 0x0000000002c72d28 isa<llvm::FunctionType, llvm::Type *> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:548:11
# | #15 0x0000000002c72d28 cast<llvm::FunctionType, llvm::Type> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:572:10
# | #16 0x0000000002c72d28 getFunctionType /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/IR/Function.h:212:12
# | #17 0x0000000002c72d28 getReturnType /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/IR/Function.h:216:40
# | #18 0x0000000002c72d28 llvm::OpenMPIRBuilder::finalize(llvm::Function*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:945:24
# | #19 0x000000000183feb3 mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef, bool, llvm::vfs::FileSystem*) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:2604:28
# | #20 0x000000000182c4e8 _M_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:199:51
# | #21 0x000000000182c4e8 get /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:470:21
# | #22 0x000000000182c4e8 operator bool /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:487:16
# | #23 0x000000000182c4e8 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp:31:14
# | #24 0x000000000182c4e8 __invoke_impl<llvm::LogicalResult, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp:28:7) &, mlir::Operation *, llvm::raw_ostream &> /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14
# | #25 0x000000000182c4e8 __invoke_r<llvm::LogicalResult, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp:28:7) &, mlir::Operation *, llvm::raw_ostream &> /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:114:9
# | #26 0x000000000182c4e8 std::_Function_handler<llvm::LogicalResult (mlir::Operation*, llvm::raw_ostream&), mlir::registerToLLVMIRTranslation()::$_0>::_M_invoke(std::_Any_data const&, mlir::Operation*&&, llvm::raw_ostream&) /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:290:9
# | #27 0x0000000000fe9122 operator() /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591:9
# | #28 0x0000000000fe9122 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/Translation.cpp:152:16
# | #29 0x0000000000fe9122 __invoke_impl<llvm::LogicalResult, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/Translation.cpp:140:7) &, const std::shared_ptr<llvm::SourceMgr> &, llvm::raw_ostream &, mlir::MLIRContext *> /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14
# | #30 0x0000000000fe9122 __invoke_r<llvm::LogicalResult, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/Translation.cpp:140:7) &, const std::shared_ptr<llvm::SourceMgr> &, llvm::raw_ostream &, mlir::MLIRContext *> /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:114:9
# | #31 0x0000000000fe9122 std::_Function_handler<llvm::LogicalResult (std::shared_ptr<llvm::SourceMgr> const&, llvm::raw_ostream&, mlir::MLIRContext*), mlir::TranslateFromMLIRRegistration::TranslateFromMLIRRegistration(llvm::StringRef, llvm::StringRef, std::function<llvm::LogicalResult (mlir::Operation*, llvm::raw_ostream&)> const&, std::function<void (mlir::DialectRegistry&)> const&)::$_0>::_M_invoke(std::_Any_data const&, std::shared_ptr<llvm::SourceMgr> const&, llvm::raw_ostream&, mlir::MLIRContext*&&) /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:290:9
# | #32 0x0000000000e8b38c operator() /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591:9
# | #33 0x0000000000e8b38c operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Tools/mlir-translate/Translation.h:81:12
# | #34 0x0000000000e8b38c operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp:187:18
# | #35 0x0000000000e8b38c llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::mlirTranslateMain(int, char**, llvm::StringRef)::$_1>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #36 0x0000000000ff7d39 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:403:6
# | #37 0x0000000000ff7d39 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
# | #38 0x0000000000ff7d39 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:111:12
# | #39 0x0000000000ff7d39 llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>::callback_fn<mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #40 0x0000000000ff77b5 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
# | #41 0x0000000000ff77b5 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:30:12
# | #42 0x0000000000ff7b07 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:403:6
# | #43 0x0000000000ff7b07 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:113:3
# | #44 0x0000000000e87a0e mlir::mlirTranslateMain(int, char**, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp:203:14
# | #45 0x0000000000e87610 main /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/tools/mlir-translate/mlir-translate.cpp:42:17
# | #46 0x000079908507d1ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #47 0x000079908507d28b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #48 0x0000000000e87505 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate+0xe87505)
# `-----------------------------
# error: command failed with exit status: -6
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-taskloop-collapse.mlir
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-taskloop-collapse.mlir
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the Mlir-commits mailing list