[Mlir-commits] [mlir] [WIP][OpenMP][MLIR] Lowering task_reduction clause for pass-by-value vars to LLVMIR (PR #125218)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Thu Jan 1 10:05:32 PST 2026


github-actions[bot] wrote:

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

* 7271 tests passed
* 598 tests skipped
* 4 tests failed

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

### MLIR
<details>
<summary>MLIR.Target/LLVMIR/openmp-cancel.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-cancel.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-cancel.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-cancel.mlir
# .---command stderr------------
# | mlir-translate: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:2695: LogicalResult convertOmpTaskgroupOp(omp::TaskgroupOp, llvm::IRBuilderBase &, LLVM::ModuleTranslation &): Assertion `attr && "Missing task reduction symbols"' 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-cancel.mlir
# |  #0 0x0000000000d8bf88 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:842:13
# |  #1 0x0000000000d896d5 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# |  #2 0x0000000000d8d031 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:429:38
# |  #3 0x00007ed871a87330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# |  #4 0x00007ed871ae0b2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# |  #5 0x00007ed871a8727e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# |  #6 0x00007ed871a6a8ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# |  #7 0x00007ed871a6a81b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# |  #8 0x00007ed871a7d517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# |  #9 0x00000000020b7f56 convertOmpDistribute /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:5472:33
# | #10 0x00000000020b7f56 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6830:20
# | #11 0x00000000020b7f56 Case<mlir::omp::DistributeOp, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6829:17)> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h:103:22
# | #12 0x00000000020b7f56 Case<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6829:17)> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h:61:29
# | #13 0x00000000020b7f56 convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6829:12
# | #14 0x000000000155b97b mlir::LLVM::ModuleTranslation::convertOperation(mlir::Operation&, llvm::IRBuilderBase&, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1005:7
# | #15 0x000000000155c135 mlir::LLVM::ModuleTranslation::convertBlockImpl(mlir::Block&, bool, llvm::IRBuilderBase&, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1055:9
# | #16 0x00000000015612a6 mlir::LLVM::ModuleTranslation::convertOneFunction(mlir::LLVM::LLVMFuncOp) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1610:16
# | #17 0x00000000015642c3 mlir::LLVM::ModuleTranslation::convertFunctions() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1932:9
# | #18 0x0000000001567a34 mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:2441:7
# | #19 0x0000000001555740 _M_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:199:51
# | #20 0x0000000001555740 get /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:470:21
# | #21 0x0000000001555740 operator bool /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:487:16
# | #22 0x0000000001555740 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp:31:14
# | #23 0x0000000001555740 __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
# | #24 0x0000000001555740 __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
# | #25 0x0000000001555740 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
# | #26 0x0000000000eac206 operator() /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591:9
# | #27 0x0000000000eac206 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/Translation.cpp:152:16
# | #28 0x0000000000eac206 __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
# | #29 0x0000000000eac206 __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
# | #30 0x0000000000eac206 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
# | #31 0x0000000000d57fdc operator() /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591:9
# | #32 0x0000000000d57fdc operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Tools/mlir-translate/Translation.h:81:12
# | #33 0x0000000000d57fdc operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp:187:18
# | #34 0x0000000000d57fdc 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
# | #35 0x0000000000ebaeb9 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:403:6
# | #36 0x0000000000ebaeb9 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
# | #37 0x0000000000ebaeb9 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:111:12
# | #38 0x0000000000ebaeb9 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
# | #39 0x0000000000eba935 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
# | #40 0x0000000000eba935 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
# | #41 0x0000000000ebac87 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:403:6
# | #42 0x0000000000ebac87 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
# | #43 0x0000000000d5446b mlir::mlirTranslateMain(int, char**, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp:203:14
# | #44 0x0000000000d54070 main /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/tools/mlir-translate/mlir-translate.cpp:42:17
# | #45 0x00007ed871a6c1ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #46 0x00007ed871a6c28b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #47 0x0000000000d53f65 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate+0xd53f65)
# `-----------------------------
# 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-cancel.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-cancel.mlir
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>MLIR.Target/LLVMIR/openmp-cancellation-point.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-cancellation-point.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-cancellation-point.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-cancellation-point.mlir
# .---command stderr------------
# | mlir-translate: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:2695: LogicalResult convertOmpTaskgroupOp(omp::TaskgroupOp, llvm::IRBuilderBase &, LLVM::ModuleTranslation &): Assertion `attr && "Missing task reduction symbols"' 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-cancellation-point.mlir
# |  #0 0x0000000000d8bf88 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:842:13
# |  #1 0x0000000000d896d5 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# |  #2 0x0000000000d8d031 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:429:38
# |  #3 0x00007d53d9ebd330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# |  #4 0x00007d53d9f16b2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# |  #5 0x00007d53d9ebd27e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# |  #6 0x00007d53d9ea08ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# |  #7 0x00007d53d9ea081b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# |  #8 0x00007d53d9eb3517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# |  #9 0x00000000020b7f56 convertOmpDistribute /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:5472:33
# | #10 0x00000000020b7f56 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6830:20
# | #11 0x00000000020b7f56 Case<mlir::omp::DistributeOp, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6829:17)> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h:103:22
# | #12 0x00000000020b7f56 Case<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6829:17)> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h:61:29
# | #13 0x00000000020b7f56 convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6829:12
# | #14 0x000000000155b97b mlir::LLVM::ModuleTranslation::convertOperation(mlir::Operation&, llvm::IRBuilderBase&, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1005:7
# | #15 0x000000000155c135 mlir::LLVM::ModuleTranslation::convertBlockImpl(mlir::Block&, bool, llvm::IRBuilderBase&, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1055:9
# | #16 0x00000000015612a6 mlir::LLVM::ModuleTranslation::convertOneFunction(mlir::LLVM::LLVMFuncOp) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1610:16
# | #17 0x00000000015642c3 mlir::LLVM::ModuleTranslation::convertFunctions() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1932:9
# | #18 0x0000000001567a34 mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:2441:7
# | #19 0x0000000001555740 _M_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:199:51
# | #20 0x0000000001555740 get /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:470:21
# | #21 0x0000000001555740 operator bool /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:487:16
# | #22 0x0000000001555740 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp:31:14
# | #23 0x0000000001555740 __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
# | #24 0x0000000001555740 __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
# | #25 0x0000000001555740 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
# | #26 0x0000000000eac206 operator() /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591:9
# | #27 0x0000000000eac206 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/Translation.cpp:152:16
# | #28 0x0000000000eac206 __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
# | #29 0x0000000000eac206 __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
# | #30 0x0000000000eac206 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
# | #31 0x0000000000d57fdc operator() /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591:9
# | #32 0x0000000000d57fdc operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Tools/mlir-translate/Translation.h:81:12
# | #33 0x0000000000d57fdc operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp:187:18
# | #34 0x0000000000d57fdc 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
# | #35 0x0000000000ebaeb9 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:403:6
# | #36 0x0000000000ebaeb9 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
# | #37 0x0000000000ebaeb9 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:111:12
# | #38 0x0000000000ebaeb9 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
# | #39 0x0000000000eba935 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
# | #40 0x0000000000eba935 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
# | #41 0x0000000000ebac87 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:403:6
# | #42 0x0000000000ebac87 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
# | #43 0x0000000000d5446b mlir::mlirTranslateMain(int, char**, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp:203:14
# | #44 0x0000000000d54070 main /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/tools/mlir-translate/mlir-translate.cpp:42:17
# | #45 0x00007d53d9ea21ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #46 0x00007d53d9ea228b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #47 0x0000000000d53f65 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate+0xd53f65)
# `-----------------------------
# 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-cancellation-point.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-cancellation-point.mlir
# `-----------------------------
# error: command failed with exit status: 2

--

```
</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/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:2695: LogicalResult convertOmpTaskgroupOp(omp::TaskgroupOp, llvm::IRBuilderBase &, LLVM::ModuleTranslation &): Assertion `attr && "Missing task reduction symbols"' 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 0x0000000000d8bf88 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:842:13
# |  #1 0x0000000000d896d5 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# |  #2 0x0000000000d8d031 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:429:38
# |  #3 0x000078e2f3bc8330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# |  #4 0x000078e2f3c21b2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# |  #5 0x000078e2f3bc827e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# |  #6 0x000078e2f3bab8ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# |  #7 0x000078e2f3bab81b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# |  #8 0x000078e2f3bbe517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# |  #9 0x00000000020b7f56 convertOmpDistribute /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:5472:33
# | #10 0x00000000020b7f56 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6830:20
# | #11 0x00000000020b7f56 Case<mlir::omp::DistributeOp, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6829:17)> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h:103:22
# | #12 0x00000000020b7f56 Case<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6829:17)> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h:61:29
# | #13 0x00000000020b7f56 convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6829:12
# | #14 0x000000000155b97b mlir::LLVM::ModuleTranslation::convertOperation(mlir::Operation&, llvm::IRBuilderBase&, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1005:7
# | #15 0x000000000155c135 mlir::LLVM::ModuleTranslation::convertBlockImpl(mlir::Block&, bool, llvm::IRBuilderBase&, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1055:9
# | #16 0x00000000015612a6 mlir::LLVM::ModuleTranslation::convertOneFunction(mlir::LLVM::LLVMFuncOp) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1610:16
# | #17 0x00000000015642c3 mlir::LLVM::ModuleTranslation::convertFunctions() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1932:9
# | #18 0x0000000001567a34 mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:2441:7
# | #19 0x0000000001555740 _M_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:199:51
# | #20 0x0000000001555740 get /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:470:21
# | #21 0x0000000001555740 operator bool /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:487:16
# | #22 0x0000000001555740 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp:31:14
# | #23 0x0000000001555740 __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
# | #24 0x0000000001555740 __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
# | #25 0x0000000001555740 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
# | #26 0x0000000000eac206 operator() /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591:9
# | #27 0x0000000000eac206 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/Translation.cpp:152:16
# | #28 0x0000000000eac206 __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
# | #29 0x0000000000eac206 __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
# | #30 0x0000000000eac206 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
# | #31 0x0000000000d57fdc operator() /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:591:9
# | #32 0x0000000000d57fdc operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Tools/mlir-translate/Translation.h:81:12
# | #33 0x0000000000d57fdc operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp:187:18
# | #34 0x0000000000d57fdc 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
# | #35 0x0000000000ebaeb9 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:403:6
# | #36 0x0000000000ebaeb9 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
# | #37 0x0000000000ebaeb9 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:111:12
# | #38 0x0000000000ebaeb9 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
# | #39 0x0000000000ebae04 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
# | #40 0x0000000000ebae04 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
# | #41 0x0000000000ebaa9f 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:2277:49), void> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:0:0
# | #42 0x0000000000ebaa9f 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:2277:3
# | #43 0x0000000000ebaa9f 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
# | #44 0x0000000000ebac87 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:403:6
# | #45 0x0000000000ebac87 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
# | #46 0x0000000000d5446b mlir::mlirTranslateMain(int, char**, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp:203:14
# | #47 0x0000000000d54070 main /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/tools/mlir-translate/mlir-translate.cpp:42:17
# | #48 0x000078e2f3bad1ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #49 0x000078e2f3bad28b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #50 0x0000000000d53f65 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate+0xd53f65)
# `-----------------------------
# 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:2983:17: error: CHECK-LABEL: expected string not found in input
# | // CHECK-LABEL: define void @omp_taskgroup(
# |                 ^
# | <stdin>:8639:115: note: scanning from here
# |  %4 = call ptr @__kmpc_omp_task_alloc(ptr @1, i32 %omp_global_thread_num, i32 1, i64 40, i64 8, ptr @task..omp_par)
# |                                                                                                                   ^
# | <stdin>:8649:5: note: possible intended match here
# | define internal void @task..omp_par(i32 %global.tid.val, ptr %0) {
# |     ^
# | 
# | 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:
# | <<<<<<
# |               .
# |               .
# |               .
# |            8634:  
# |            8635: codeRepl: ; preds = %omp.task.start 
# |            8636:  %gep_omp.task.context_ptr = getelementptr { ptr }, ptr %structArg, i32 0, i32 0 
# |            8637:  store ptr %omp.task.context_ptr, ptr %gep_omp.task.context_ptr, align 8 
# |            8638:  %omp_global_thread_num = call i32 @__kmpc_global_thread_num(ptr @1) 
# |            8639:  %4 = call ptr @__kmpc_omp_task_alloc(ptr @1, i32 %omp_global_thread_num, i32 1, i64 40, i64 8, ptr @task..omp_par) 
# | label:2983'0                                                                                                                       X~ error: no match found
# |            8640:  %5 = load ptr, ptr %4, align 8 
# | label:2983'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            8641:  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %5, ptr align 1 %structArg, i64 8, i1 false) 
# | label:2983'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            8642:  %6 = call i32 @__kmpc_omp_task(ptr @1, i32 %omp_global_thread_num, ptr %4) 
# | label:2983'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            8643:  br label %task.exit 
# | label:2983'0     ~~~~~~~~~~~~~~~~~~~~~
# |            8644:  
# | label:2983'0     ~
# |            8645: task.exit: ; preds = %codeRepl 
# | label:2983'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            8646:  ret void 
# | label:2983'0     ~~~~~~~~~~
# |            8647: } 
# | label:2983'0     ~~
# |            8648:  
# | label:2983'0     ~
# |            8649: define internal void @task..omp_par(i32 %global.tid.val, ptr %0) { 
# | label:2983'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | label:2983'1         ?                                                               possible intended match
# |            8650: task.alloca: 
# | label:2983'0     ~~~~~~~~~~~~~
# |            8651:  %1 = load ptr, ptr %0, align 8 
# | label:2983'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            8652:  %gep_omp.task.context_ptr = getelementptr { ptr }, ptr %1, i32 0, i32 0 
# | label:2983'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            8653:  %loadgep_omp.task.context_ptr = load ptr, ptr %gep_omp.task.context_ptr, align 8, !align !1 
# | label:2983'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            8654:  br label %task.body 
# | label:2983'0     ~~~~~~~~~~~~~~~~~~~~~
# |               .
# |               .
# |               .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>MLIR.Target/LLVMIR/openmp-todo.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 -verify-diagnostics /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-todo.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-translate -mlir-to-llvmir -split-input-file -verify-diagnostics /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-todo.mlir
# .---command stdout------------
# | ; ModuleID = 'LLVMDialectModule'
# | source_filename = "LLVMDialectModule"
# | 
# | define void @atomic_hint(ptr %0, ptr %1, i32 %2) {
# |   br label %entry
# | 
# | entry:                                            ; preds = %3
# |   %4 = atomicrmw xchg ptr %0, i32 %2 monotonic, align 4
# |   store i32 %4, ptr %1, align 4
# |   %omp.atomic.read = load atomic i32, ptr %0 monotonic, align 4
# |   store i32 %omp.atomic.read, ptr %1, align 4
# |   store atomic i32 %2, ptr %0 monotonic, align 4
# |   %5 = atomicrmw add ptr %1, i32 %2 monotonic, align 4
# |   %6 = add i32 %5, %2
# |   ret void
# | }
# | 
# | !llvm.module.flags = !{!0}
# | 
# | !0 = !{i32 2, !"Debug Info Version", i32 3}
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | ; ModuleID = 'LLVMDialectModule'
# | source_filename = "LLVMDialectModule"
# | 
# | %struct.ident_t = type { i32, i32, i32, i32, ptr }
# | %kmp_taskred_input_t = type { ptr, ptr, i64, ptr, ptr, ptr, i32 }
# | 
# | @0 = private unnamed_addr constant [23 x i8] c";unknown;unknown;0;0;;\00", align 1
# | @1 = private unnamed_addr constant %struct.ident_t { i32 0, i32 2, i32 0, i32 22, ptr @0 }, align 8
# | 
# | define void @taskgroup_task_reduction(ptr %0) {
# |   %kmp_taskred_array = alloca [1 x %kmp_taskred_input_t], align 8
# |   br label %entry
# | 
# | entry:                                            ; preds = %1
# |   %omp_global_thread_num = call i32 @__kmpc_global_thread_num(ptr @1)
# |   call void @__kmpc_taskgroup(ptr @1, i32 %omp_global_thread_num)
# |   %red_element = getelementptr [1 x %kmp_taskred_input_t], ptr %kmp_taskred_array, i32 0, i32 0
# |   %reduce_shar = getelementptr inbounds nuw %kmp_taskred_input_t, ptr %red_element, i32 0, i32 0
# |   store ptr %0, ptr %reduce_shar, align 8
# |   %reduce_orig = getelementptr inbounds nuw %kmp_taskred_input_t, ptr %red_element, i32 0, i32 1
# |   store ptr %0, ptr %reduce_orig, align 8
# |   %reduce_size = getelementptr inbounds nuw %kmp_taskred_input_t, ptr %red_element, i32 0, i32 2
# |   store i64 4, ptr %reduce_size, align 4
# |   %reduce_init = getelementptr inbounds nuw %kmp_taskred_input_t, ptr %red_element, i32 0, i32 3
# |   store ptr @red_init, ptr %reduce_init, align 8
# |   %reduce_fini = getelementptr inbounds nuw %kmp_taskred_input_t, ptr %red_element, i32 0, i32 4
# |   store ptr null, ptr %reduce_fini, align 8
# |   %reduce_comb = getelementptr inbounds nuw %kmp_taskred_input_t, ptr %red_element, i32 0, i32 5
# |   store ptr @red_comb, ptr %reduce_comb, align 8
# |   %flags = getelementptr inbounds nuw %kmp_taskred_input_t, ptr %red_element, i32 0, i32 6
# |   store i64 0, ptr %flags, align 4
# |   %omp_global_thread_num1 = call i32 @__kmpc_global_thread_num(ptr @1)
# |   %2 = call ptr @__kmpc_taskred_init(i32 %omp_global_thread_num1, i32 1, ptr %kmp_taskred_array)
# |   br label %omp.taskgroup.region
# | 
# | omp.taskgroup.region:                             ; preds = %entry
# |   br label %omp.region.cont
# | 
# | omp.region.cont:                                  ; preds = %omp.taskgroup.region
# |   br label %taskgroup.exit
# | 
# | taskgroup.exit:                                   ; preds = %omp.region.cont
# |   call void @__kmpc_end_taskgroup(ptr @1, i32 %omp_global_thread_num)
# |   ret void
# | }
# | 
# | ; Function Attrs: nounwind
# | declare i32 @__kmpc_global_thread_num(ptr) #0
# | 
# | ; Function Attrs: convergent nounwind
# | declare void @__kmpc_taskgroup(ptr, i32) #1
# | 
# | ; Function Attrs: norecurse
# | define ptr @red_init(ptr noalias %0, ptr noalias %1) #2 {
# | entry:
# |   store float 0.000000e+00, ptr %0, align 4
# |   ret ptr %0
# | }
# | 
# | ; Function Attrs: norecurse
# | define ptr @red_comb(ptr %0, ptr %1) #2 {
# | entry:
# |   %2 = load float, ptr %0, align 4
# |   %3 = load float, ptr %1, align 4
# |   %4 = fadd float %2, %3
# |   store float %4, ptr %0, align 4
# |   ret ptr %0
# | }
# | 
# | ; Function Attrs: nounwind
# | declare ptr @__kmpc_taskred_init(i32, i32, ptr) #0
# | 
# | ; Function Attrs: convergent nounwind
# | declare void @__kmpc_end_taskgroup(ptr, i32) #1
# | 
# | attributes #0 = { nounwind }
# | attributes #1 = { convergent nounwind }
# | attributes #2 = { norecurse }
# | 
# | !llvm.module.flags = !{!0}
# | 
# | !0 = !{i32 2, !"Debug Info Version", i32 3}
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# | 
# `-----------------------------
# .---command stderr------------
# | within split at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-todo.mlir:296 offset :21:6: error: expected error "not yet implemented: Unhandled clause task_reduction in omp.taskgroup operation" was not produced
# |   // expected-error at below {{not yet implemented: Unhandled clause task_reduction in omp.taskgroup operation}}
# |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | within split at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Target/LLVMIR/openmp-todo.mlir:296 offset :22:6: error: expected error "LLVM Translation failed for operation: omp.taskgroup" was not produced
# |   // expected-error at below {{LLVM Translation failed for operation: omp.taskgroup}}
# |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# `-----------------------------
# error: command failed with exit status: 1

--

```
</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/125218


More information about the Mlir-commits mailing list