[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:31 PST 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 3379 tests passed
* 411 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
c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe --mlir-to-llvmir C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-cancel.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-cancel.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe' --mlir-to-llvmir 'C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-cancel.mlir'
# .---command stderr------------
# | Assertion failed: attr && "Missing task reduction symbols", file C:\_work\llvm-project\llvm-project\mlir\lib\Target\LLVMIR\Dialect\OpenMP\OpenMPToLLVMIRTranslation.cpp, line 2695
# | 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: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\mlir-translate.exe --mlir-to-llvmir C:\\_work\\llvm-project\\llvm-project\\mlir\\test\\Target\\LLVMIR\\openmp-cancel.mlir
# | Exception Code: 0xC000001D
# |  #0 0x00007ff6279ac9d6 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0xa0c9d6)
# |  #1 0x00007ffe8447bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffe8447cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffe8447e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffe8447e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff6274abb0c mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x50bb0c)
# |  #6 0x00007ff6274a5037 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x505037)
# |  #7 0x00007ff6273dfc60 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x43fc60)
# |  #8 0x00007ff6273e0356 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x440356)
# |  #9 0x00007ff6273e683f mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x44683f)
# | #10 0x00007ff6273ea180 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x44a180)
# | #11 0x00007ff6273eeac5 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x44eac5)
# | #12 0x00007ff626fa946d (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x946d)
# | #13 0x00007ff626ff7e82 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x57e82)
# | #14 0x00007ff626fa5884 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x5884)
# | #15 0x00007ff627014374 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x74374)
# | #16 0x00007ff627013a16 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x73a16)
# | #17 0x00007ff627014041 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x74041)
# | #18 0x00007ff626fa17c5 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x17c5)
# | #19 0x00007ff626fa1078 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x1078)
# | #20 0x00007ff628f2f2cc mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x1f8f2cc)
# | #21 0x00007ffe900d4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ffe9793edcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-cancel.mlir'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_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
c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe --mlir-to-llvmir C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-cancellation-point.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-cancellation-point.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe' --mlir-to-llvmir 'C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-cancellation-point.mlir'
# .---command stderr------------
# | Assertion failed: attr && "Missing task reduction symbols", file C:\_work\llvm-project\llvm-project\mlir\lib\Target\LLVMIR\Dialect\OpenMP\OpenMPToLLVMIRTranslation.cpp, line 2695
# | 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: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\mlir-translate.exe --mlir-to-llvmir C:\\_work\\llvm-project\\llvm-project\\mlir\\test\\Target\\LLVMIR\\openmp-cancellation-point.mlir
# | Exception Code: 0xC000001D
# |  #0 0x00007ff6279ac9d6 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0xa0c9d6)
# |  #1 0x00007ffe8447bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffe8447cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffe8447e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffe8447e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff6274abb0c mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x50bb0c)
# |  #6 0x00007ff6274a5037 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x505037)
# |  #7 0x00007ff6273dfc60 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x43fc60)
# |  #8 0x00007ff6273e0356 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x440356)
# |  #9 0x00007ff6273e683f mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x44683f)
# | #10 0x00007ff6273ea180 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x44a180)
# | #11 0x00007ff6273eeac5 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x44eac5)
# | #12 0x00007ff626fa946d (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x946d)
# | #13 0x00007ff626ff7e82 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x57e82)
# | #14 0x00007ff626fa5884 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x5884)
# | #15 0x00007ff627014374 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x74374)
# | #16 0x00007ff627013a16 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x73a16)
# | #17 0x00007ff627014041 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x74041)
# | #18 0x00007ff626fa17c5 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x17c5)
# | #19 0x00007ff626fa1078 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x1078)
# | #20 0x00007ff628f2f2cc mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x1f8f2cc)
# | #21 0x00007ffe900d4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ffe9793edcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-cancellation-point.mlir'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_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
c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe -mlir-to-llvmir -split-input-file C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-llvm.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-llvm.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe' -mlir-to-llvmir -split-input-file 'C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-llvm.mlir'
# .---command stderr------------
# | Assertion failed: attr && "Missing task reduction symbols", file C:\_work\llvm-project\llvm-project\mlir\lib\Target\LLVMIR\Dialect\OpenMP\OpenMPToLLVMIRTranslation.cpp, line 2695
# | 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: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\mlir-translate.exe -mlir-to-llvmir -split-input-file C:\\_work\\llvm-project\\llvm-project\\mlir\\test\\Target\\LLVMIR\\openmp-llvm.mlir
# | Exception Code: 0xC000001D
# |  #0 0x00007ff6279ac9d6 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0xa0c9d6)
# |  #1 0x00007ffe8447bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffe8447cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffe8447e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffe8447e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff6274abb0c mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x50bb0c)
# |  #6 0x00007ff6274a5037 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x505037)
# |  #7 0x00007ff6273dfc60 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x43fc60)
# |  #8 0x00007ff6273e0356 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x440356)
# |  #9 0x00007ff6273e683f mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x44683f)
# | #10 0x00007ff6273ea180 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x44a180)
# | #11 0x00007ff6273eeac5 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x44eac5)
# | #12 0x00007ff626fa946d (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x946d)
# | #13 0x00007ff626ff7e82 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x57e82)
# | #14 0x00007ff626fa5884 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x5884)
# | #15 0x00007ff627014374 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x74374)
# | #16 0x00007ff627014280 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x74280)
# | #17 0x00007ff627013e19 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x73e19)
# | #18 0x00007ff627014041 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x74041)
# | #19 0x00007ff626fa17c5 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x17c5)
# | #20 0x00007ff626fa1078 (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x1078)
# | #21 0x00007ff628f2f2cc mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe+0x1f8f2cc)
# | #22 0x00007ffe900d4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #23 0x00007ffe9793edcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-llvm.mlir'
# .---command stderr------------
# | C:\_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: C:\_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
c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe -mlir-to-llvmir -split-input-file -verify-diagnostics C:\_work\llvm-project\llvm-project\mlir\test\Target\LLVMIR\openmp-todo.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-translate.exe' -mlir-to-llvmir -split-input-file -verify-diagnostics 'C:\_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 C:\_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 C:\_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