[Mlir-commits] [mlir] [MLIR][XeGPU] Extend Wg-to-Sg Distribution of Multi-Reduction Op for round-robin layout (PR #189988)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Apr 1 09:12:17 PDT 2026


github-actions[bot] wrote:

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

* 3597 tests passed
* 415 tests skipped
* 2 tests failed

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

### MLIR
<details>
<summary>MLIR.Dialect/XeGPU/xegpu-wg-to-sg-unify-ops-rr.mlir</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe --xegpu-wg-to-sg-distribute -split-input-file C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops-rr.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops-rr.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' --xegpu-wg-to-sg-distribute -split-input-file 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops-rr.mlir'
# .---command stderr------------
# | Assertion failed: Index < size() && "invalid index for value range", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLExtras.h, line 1249
# | 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-opt.exe --xegpu-wg-to-sg-distribute -split-input-file C:\\_work\\llvm-project\\llvm-project\\mlir\\test\\Dialect\\XeGPU\\xegpu-wg-to-sg-unify-ops-rr.mlir
# | Exception Code: 0xC000001D
# |  #0 0x00007ff62281b3f6 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x375b3f6)
# |  #1 0x00007fff7460bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007fff7460cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007fff7460e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007fff7460e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff62197c39e mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x28bc39e)
# |  #6 0x00007ff62191b71b mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x285b71b)
# |  #7 0x00007ff6219987a4 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x28d87a4)
# |  #8 0x00007ff6230ba057 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3ffa057)
# |  #9 0x00007ff6230b6b2f mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3ff6b2f)
# | #10 0x00007ff62199a92d mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x28da92d)
# | #11 0x00007ff621999e9b mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x28d9e9b)
# | #12 0x00007ff62199b3e2 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x28db3e2)
# | #13 0x00007ff6219adbc1 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x28edbc1)
# | #14 0x00007ff6219a19b9 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x28e19b9)
# | #15 0x00007ff6219a1af2 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x28e1af2)
# | #16 0x00007ff621967f94 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x28a7f94)
# | #17 0x00007ff61f455b87 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x395b87)
# | #18 0x00007ff61f4564b6 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3964b6)
# | #19 0x00007ff61f45c47e (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x39c47e)
# | #20 0x00007ff61f45bf13 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x39bf13)
# | #21 0x00007ff61f0d08e7 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x108e7)
# | #22 0x00007ff61f0cfa9f (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0xfa9f)
# | #23 0x00007ff61f446290 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x386290)
# | #24 0x00007ff61f445ea1 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x385ea1)
# | #25 0x00007ff61f0c383e (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x383e)
# | #26 0x00007ff61f0c3bee (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3bee)
# | #27 0x00007ff61f0c3fa4 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3fa4)
# | #28 0x00007ff61f0c1450 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x1450)
# | #29 0x00007ff627228400 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x8168400)
# | #30 0x00007fff81994cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #31 0x00007fff867dedcb (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\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops-rr.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\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops-rr.mlir
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>MLIR.Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe --xegpu-wg-to-sg-distribute -split-input-file C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' --xegpu-wg-to-sg-distribute -split-input-file 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops.mlir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops.mlir:3:15: error: CHECK-DAG: expected string not found in input
# | // CHECK-DAG: #map = affine_map<()[s0] -> (s0 floordiv 4)>
# |               ^
# | <stdin>:1:1: note: scanning from here
# | module {
# | ^
# | <stdin>:2:2: note: possible intended match here
# |  gpu.module @test_distribution {
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops.mlir:684:16: error: CHECK-DAG: expected string not found in input
# |  // CHECK-DAG: %[[AFF0:.*]] = affine.apply #map2()[%[[SGID]]]
# |                ^
# | <stdin>:967:62: note: scanning from here
# |  gpu.func @vector_reduce_cross_sg_dim_1(%arg0: memref<?xf32>) {
# |                                                              ^
# | <stdin>:967:62: note: with "SGID" equal to "4"
# |  gpu.func @vector_reduce_cross_sg_dim_1(%arg0: memref<?xf32>) {
# |                                                              ^
# | <stdin>:980:2: note: possible intended match here
# |  %c32 = arith.constant 32 : index
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops.mlir:728:16: error: CHECK-DAG: expected string not found in input
# |  // CHECK-DAG: %[[AFFINE1:.*]] = affine.apply {{#map[[:alnum:]_]*}}()[%[[SGID2]]]
# |                ^
# | <stdin>:1028:68: note: scanning from here
# |  gpu.func @vector_reduce_cross_sg_dim_0(%arg0: memref<256x128xf32>) {
# |                                                                    ^
# | <stdin>:1028:68: note: with "SGID2" equal to "13"
# |  gpu.func @vector_reduce_cross_sg_dim_0(%arg0: memref<256x128xf32>) {
# |                                                                    ^
# | <stdin>:1037:2: note: possible intended match here
# |  %4 = arith.muli %3, %c32 : index
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops.mlir:764:16: error: CHECK-DAG: expected string not found in input
# |  // CHECK-DAG: %[[AFFINE0:.*]] = affine.apply {{#map[[:alnum:]_]*}}()[%[[SGID]]]
# |                ^
# | <stdin>:1094:57: note: scanning from here
# |  gpu.func @vector_reduce_multi_dim(%arg0: memref<?xf32>) {
# |                                                         ^
# | <stdin>:1094:57: note: with "SGID" equal to "4"
# |  gpu.func @vector_reduce_multi_dim(%arg0: memref<?xf32>) {
# |                                                         ^
# | <stdin>:1102:4: note: possible intended match here
# |  %alloca = memref.alloca() : memref<256xi8, 3>
# |    ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops.mlir:814:16: error: CHECK-DAG: expected string not found in input
# |  // CHECK-DAG: %[[AFFINE0:.*]] = affine.apply {{#map[[:alnum:]_]*}}()[%[[SGID]]]
# |                ^
# | <stdin>:1171:82: note: scanning from here
# |  gpu.func @vector_reduce_multi_dim_nou_unit_local_reduction(%arg0: memref<?xf32>) {
# |                                                                                  ^
# | <stdin>:1171:82: note: with "SGID" equal to "4"
# |  gpu.func @vector_reduce_multi_dim_nou_unit_local_reduction(%arg0: memref<?xf32>) {
# |                                                                                  ^
# | <stdin>:1194:2: note: possible intended match here
# |  %12 = arith.muli %11, %c16 : index
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\XeGPU\xegpu-wg-to-sg-unify-ops.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            1: module { 
# | dag:3'0       X~~~~~~~~ error: no match found
# |            2:  gpu.module @test_distribution { 
# | dag:3'0       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:3'1        ?                                possible intended match
# |            3:  gpu.func @create_nd_tdesc_no_offset(%arg0: memref<256x128xf32>) { 
# | dag:3'0       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            4:  %0 = xegpu.create_nd_tdesc %arg0 : memref<256x128xf32> -> !xegpu.tensor_desc<32x32xf32, #xegpu.layout<lane_layout = [1, 16], lane_data = [1, 1]>> 
# |            5:  gpu.return 
# |            6:  } 
# |            7:  gpu.func @create_nd_tdesc_with_ptr(%arg0: ui64, %arg1: index, %arg2: index, %arg3: index, %arg4: index) { 
# |            .
# |            .
# |            .
# |          962:  %cst_0 = arith.constant dense<true> : vector<32xi1> 
# |          963:  %0 = xegpu.load %alloca[%cst], %cst_0 <{chunk_size = 1 : i64, layout = #xegpu.slice<#xegpu.layout<inst_data = [8, 16]>, dims = [0]>}> : memref<4096xf32>, vector<32xindex>, vector<32xi1> -> vector<32xf32> 
# |          964:  %1 = vector.broadcast %0 : vector<32xf32> to vector<32x32xf32> 
# |          965:  gpu.return 
# |          966:  } 
# |          967:  gpu.func @vector_reduce_cross_sg_dim_1(%arg0: memref<?xf32>) { 
# | dag:684'0                                                                  X~~ error: no match found
# | dag:684'1                                                                      with "SGID" equal to "4"
# |          968:  %cst = arith.constant dense<1.000000e+00> : vector<1x32xf32> 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          969:  %cst_0 = arith.constant dense<0> : vector<1x1x32xindex> 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          970:  %cst_1 = arith.constant dense<true> : vector<1x1x32xi1> 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          971:  %0 = xegpu.load %arg0[%cst_0], %cst_1 <{chunk_size = 1 : i64}> : memref<?xf32>, vector<1x1x32xindex>, vector<1x1x32xi1> -> vector<1x1x32xf32> 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          972:  %cst_2 = arith.constant dense<0.000000e+00> : vector<1x32xf32> 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# |          975:  %alloca = memref.alloca() : memref<4096xi8, 3> 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          976:  %3 = xegpu.create_mem_desc %alloca : memref<4096xi8, 3> -> !xegpu.mem_desc<1x32x32xf32> 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          977:  %4 = gpu.subgroup_id : index 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          978:  %c1 = arith.constant 1 : index 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          979:  %c0 = arith.constant 0 : index 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          980:  %c32 = arith.constant 32 : index 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:684'2      ?                                 possible intended match
# |          981:  %5 = arith.remui %4, %c32 : index 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          982:  %6 = arith.divui %4, %c32 : index 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          983:  %c1_3 = arith.constant 1 : index 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          984:  %c0_4 = arith.constant 0 : index 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          985:  %c1_5 = arith.constant 1 : index 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# |         1023:  %cst_34 = arith.constant dense<0.000000e+00> : vector<1x32xf32> 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1024:  %14 = vector.multi_reduction <add>, %13, %cst_34 [1] : vector<1x32x32xf32> to vector<1x32xf32> 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1025:  %15 = arith.addf %14, %cst : vector<1x32xf32> 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1026:  gpu.return 
# | dag:684'0     ~~~~~~~~~~~~
# |         1027:  } 
# | dag:684'0     ~~~
# |         1028:  gpu.func @vector_reduce_cross_sg_dim_0(%arg0: memref<256x128xf32>) { 
# | dag:684'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:728'0                                                                        X~~ error: no match found
# | dag:728'1                                                                            with "SGID2" equal to "13"
# |         1029:  %cst = arith.constant dense<0.000000e+00> : vector<32xf32> 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1030:  %0 = gpu.subgroup_id : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1031:  %c4 = arith.constant 4 : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1032:  %1 = arith.remui %0, %c4 : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1033:  %2 = arith.divui %0, %c4 : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1034:  %c8 = arith.constant 8 : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1035:  %3 = arith.remui %2, %c8 : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1036:  %c32 = arith.constant 32 : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1037:  %4 = arith.muli %3, %c32 : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:728'2      ?                                 possible intended match
# |         1038:  %c32_0 = arith.constant 32 : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1039:  %5 = arith.muli %1, %c32_0 : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1040:  %c0 = arith.constant 0 : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1041:  %c0_1 = arith.constant 0 : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1042:  %c256 = arith.constant 256 : index 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# |         1089:  %cst_21 = arith.constant dense<0.000000e+00> : vector<32xf32> 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1090:  %29 = vector.multi_reduction <add>, %28, %cst_21 [0] : vector<8x32xf32> to vector<32xf32> 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1091:  %30 = arith.addf %29, %cst : vector<32xf32> 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1092:  gpu.return 
# | dag:728'0     ~~~~~~~~~~~~
# |         1093:  } 
# | dag:728'0     ~~~
# |         1094:  gpu.func @vector_reduce_multi_dim(%arg0: memref<?xf32>) { 
# | dag:728'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:764'0                                                             X~~ error: no match found
# | dag:764'1                                                                 with "SGID" equal to "4"
# |         1095:  %cst = arith.constant dense<0.000000e+00> : vector<1x1xf32> 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1096:  %cst_0 = arith.constant dense<0> : vector<1x1x32x32xindex> 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1097:  %cst_1 = arith.constant dense<true> : vector<1x1x32x32xi1> 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1098:  %0 = xegpu.load %arg0[%cst_0], %cst_1 <{chunk_size = 1 : i64}> : memref<?xf32>, vector<1x1x32x32xindex>, vector<1x1x32x32xi1> -> vector<1x1x32x32xf32> 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1099:  %cst_2 = arith.constant dense<0.000000e+00> : vector<1x1xf32> 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1100:  %1 = vector.multi_reduction <add>, %0, %cst_2 [2, 3] : vector<1x1x32x32xf32> to vector<1x1xf32> 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1101:  %2 = vector.shape_cast %1 : vector<1x1xf32> to vector<1x1x1x1xf32> 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1102:  %alloca = memref.alloca() : memref<256xi8, 3> 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:764'2        ?                                            possible intended match
# |         1103:  %3 = xegpu.create_mem_desc %alloca : memref<256xi8, 3> -> !xegpu.mem_desc<2x2x4x4xf32> 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1104:  %4 = gpu.subgroup_id : index 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1105:  %c4 = arith.constant 4 : index 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1106:  %5 = arith.remui %4, %c4 : index 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1107:  %6 = arith.divui %4, %c4 : index 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# |         1166:  %cst_31 = arith.constant dense<0.000000e+00> : vector<1x1xf32> 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1167:  %32 = vector.multi_reduction <add>, %31, %cst_31 [2, 3] : vector<1x1x4x4xf32> to vector<1x1xf32> 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1168:  %33 = arith.addf %32, %cst : vector<1x1xf32> 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1169:  gpu.return 
# | dag:764'0     ~~~~~~~~~~~~
# |         1170:  } 
# | dag:764'0     ~~~
# |         1171:  gpu.func @vector_reduce_multi_dim_nou_unit_local_reduction(%arg0: memref<?xf32>) { 
# | dag:764'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:814'0                                                                                      X~~ error: no match found
# | dag:814'1                                                                                          with "SGID" equal to "4"
# |         1172:  %cst = arith.constant dense<0.000000e+00> : vector<16x16xf32> 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1173:  %cst_0 = arith.constant dense<0> : vector<16x16x32x32xindex> 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1174:  %cst_1 = arith.constant dense<true> : vector<16x16x32x32xi1> 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1175:  %0 = xegpu.load %arg0[%cst_0], %cst_1 <{chunk_size = 1 : i64}> : memref<?xf32>, vector<16x16x32x32xindex>, vector<16x16x32x32xi1> -> vector<16x16x32x32xf32> 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1176:  %cst_2 = arith.constant dense<0.000000e+00> : vector<16x16xf32> 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# |         1189:  %9 = arith.remui %8, %c2 : index 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1190:  %10 = arith.divui %8, %c2 : index 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1191:  %c2_4 = arith.constant 2 : index 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1192:  %11 = arith.remui %10, %c2_4 : index 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1193:  %c16 = arith.constant 16 : index 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1194:  %12 = arith.muli %11, %c16 : index 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:814'2      ?                                   possible intended match
# |         1195:  %c16_5 = arith.constant 16 : index 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1196:  %13 = arith.muli %9, %c16_5 : index 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1197:  %c4_6 = arith.constant 4 : index 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1198:  %14 = arith.muli %7, %c4_6 : index 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         1199:  %c4_7 = arith.constant 4 : index 
# | dag:814'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# 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/189988


More information about the Mlir-commits mailing list