[Mlir-commits] [mlir] [mlir][XeGPUToXeVM][XeVMToLLVM] Update the default cache-control values. (PR #190954)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Apr 8 04:03:59 PDT 2026


github-actions[bot] wrote:

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

* 3607 tests passed
* 416 tests skipped
* 5 tests failed

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

### MLIR
<details>
<summary>MLIR.Conversion/XeGPUToXeVM/loadstore_1d.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -convert-xegpu-to-xevm -canonicalize C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstore_1d.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstore_1d.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -convert-xegpu-to-xevm -canonicalize 'C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstore_1d.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\Conversion\XeGPUToXeVM\loadstore_1d.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstore_1d.mlir:22:12: error: CHECK: expected string not found in input
# |  // CHECK: %[[LOAD:.*]] = xevm.blockload %[[PTR]] <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3uc>}>
# |            ^
# | <stdin>:13:45: note: scanning from here
# |  %3 = llvm.inttoptr %2 : i64 to !llvm.ptr<1>
# |                                             ^
# | <stdin>:13:45: note: with "PTR" equal to "3"
# |  %3 = llvm.inttoptr %2 : i64 to !llvm.ptr<1>
# |                                             ^
# | <stdin>:14:2: note: possible intended match here
# |  %4 = xevm.blockload %3 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>}> : (!llvm.ptr<1>) -> vector<2xi32>
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstore_1d.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |             8:  %0 = arith.index_castui %intptr : index to i64 
# |             9:  %memspacecast_0 = memref.memory_space_cast %arg1 : memref<256xf32, 1> to memref<256xf32> 
# |            10:  %intptr_1 = memref.extract_aligned_pointer_as_index %memspacecast_0 : memref<256xf32> -> index 
# |            11:  %1 = arith.index_castui %intptr_1 : index to i64 
# |            12:  %2 = arith.addi %0, %c384_i64 : i64 
# |            13:  %3 = llvm.inttoptr %2 : i64 to !llvm.ptr<1> 
# | check:22'0                                                 X error: no match found
# | check:22'1                                                   with "PTR" equal to "3"
# |            14:  %4 = xevm.blockload %3 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>}> : (!llvm.ptr<1>) -> vector<2xi32> 
# | check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:22'2      ?                                                                                                                    possible intended match
# |            15:  %5 = arith.addi %1, %c512_i64 : i64 
# | check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            16:  %6 = llvm.inttoptr %5 : i64 to !llvm.ptr<1> 
# | check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            17:  xevm.blockstore %6, %4 <{cache_control = #xevm.store_cache_control<L1wb_L2uc_L3wb>}> : (!llvm.ptr<1>, vector<2xi32>) 
# | check:22'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            18:  gpu.return 
# | check:22'0     ~~~~~~~~~~~~
# |            19:  } 
# | check:22'0     ~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>MLIR.Conversion/XeGPUToXeVM/loadstore_nd_sub_byte.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -convert-xegpu-to-xevm -canonicalize C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstore_nd_sub_byte.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstore_nd_sub_byte.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -convert-xegpu-to-xevm -canonicalize 'C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstore_nd_sub_byte.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\Conversion\XeGPUToXeVM\loadstore_nd_sub_byte.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstore_nd_sub_byte.mlir:33:17: error: CHECK-SAME: expected string not found in input
# |  // CHECK-SAME: cache_control = #xevm.load_cache_control<L1c_L2uc_L3uc>, elem_size_in_bits = 16 : i32,
# |                 ^
# | <stdin>:23:79: note: scanning from here
# |  %10 = xevm.blockload2d %9, %c64_i32, %c16_i32, %c64_i32, %c16_i32, %c8_i32 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>, elem_size_in_bits = 16 : i32, pack_register = false, tile_height = 8 : i32, tile_width = 16 : i32, transpose = false, v_blocks = 1 : i32}> : (!llvm.ptr<1>, i32, i32, i32, i32, i32) -> vector<8xi16>
# |                                                                               ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstore_nd_sub_byte.mlir:69:17: error: CHECK-SAME: expected string not found in input
# |  // CHECK-SAME: cache_control = #xevm.load_cache_control<L1c_L2uc_L3uc>, elem_size_in_bits = 8 : i32,
# |                 ^
# | <stdin>:55:79: note: scanning from here
# |  %9 = xevm.blockload2d %8, %c64_i32, %c64_i32, %c64_i32, %c16_i32, %c32_i32 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>, elem_size_in_bits = 8 : i32, pack_register = true, tile_height = 32 : i32, tile_width = 16 : i32, transpose = false, v_blocks = 1 : i32}> : (!llvm.ptr<1>, i32, i32, i32, i32, i32) -> vector<8xi32>
# |                                                                               ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstore_nd_sub_byte.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         18:  %5 = vector.insert %c16_i32, %4 [3] : i32 into vector<8xi32> 
# |         19:  %6 = vector.insert %c128_i32, %5 [4] : i32 into vector<8xi32> 
# |         20:  %7 = vector.bitcast %6 : vector<8xi32> to vector<4xi64> 
# |         21:  %8 = vector.extract %7[0] : i64 from vector<4xi64> 
# |         22:  %9 = llvm.inttoptr %8 : i64 to !llvm.ptr<1> 
# |         23:  %10 = xevm.blockload2d %9, %c64_i32, %c16_i32, %c64_i32, %c16_i32, %c8_i32 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>, elem_size_in_bits = 16 : i32, pack_register = false, tile_height = 8 : i32, tile_width = 16 : i32, transpose = false, v_blocks = 1 : i32}> : (!llvm.ptr<1>, i32, i32, i32, i32, i32) -> vector<8xi16> 
# | same:33                                                                                   X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |         24:  %11 = vector.insert %1, %cst [0] : i64 into vector<4xi64> 
# | same:33     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         25:  %12 = vector.bitcast %11 : vector<4xi64> to vector<8xi32> 
# | same:33     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         26:  %13 = vector.insert %c128_i32, %12 [2] : i32 into vector<8xi32> 
# | same:33     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         27:  %14 = vector.insert %c16_i32, %13 [3] : i32 into vector<8xi32> 
# | same:33     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         28:  %15 = vector.insert %c128_i32, %14 [4] : i32 into vector<8xi32> 
# | same:33     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |          .
# |          .
# |          .
# |         50:  %4 = vector.insert %c64_i32, %3 [3] : i32 into vector<8xi32> 
# |         51:  %5 = vector.insert %c128_i32, %4 [4] : i32 into vector<8xi32> 
# |         52:  %6 = vector.bitcast %5 : vector<8xi32> to vector<4xi64> 
# |         53:  %7 = vector.extract %6[0] : i64 from vector<4xi64> 
# |         54:  %8 = llvm.inttoptr %7 : i64 to !llvm.ptr<1> 
# |         55:  %9 = xevm.blockload2d %8, %c64_i32, %c64_i32, %c64_i32, %c16_i32, %c32_i32 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>, elem_size_in_bits = 8 : i32, pack_register = true, tile_height = 32 : i32, tile_width = 16 : i32, transpose = false, v_blocks = 1 : i32}> : (!llvm.ptr<1>, i32, i32, i32, i32, i32) -> vector<8xi32> 
# | same:69                                                                                   X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |         56:  %10 = vector.bitcast %9 : vector<8xi32> to vector<64xi4> 
# | same:69     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         57:  vector.store %10, %memspacecast_0[%c32, %c0] : memref<64x128xi4>, vector<64xi4> 
# | same:69     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |         58:  gpu.return 
# | same:69     ~~~~~~~~~~~~
# |         59:  } 
# | same:69     ~~~
# |         60:  } 
# | same:69     ~~~
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>MLIR.Conversion/XeGPUToXeVM/loadstoreprefetch.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstoreprefetch.mlir --split-input-file -convert-xegpu-to-xevm -canonicalize | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstoreprefetch.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstoreprefetch.mlir' --split-input-file -convert-xegpu-to-xevm -canonicalize
# 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\Conversion\XeGPUToXeVM\loadstoreprefetch.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstoreprefetch.mlir:18:12: error: CHECK: expected string not found in input
# |  // CHECK: %[[VAR7:.*]] = llvm.load %[[VAR5]] {cache_control = #xevm.load_cache_control<L1c_L2uc_L3uc>} : !llvm.ptr<1> -> f16
# |            ^
# | <stdin>:13:27: note: scanning from here
# |  %6 = scf.if %0 -> (f16) {
# |                           ^
# | <stdin>:13:27: note: with "VAR5" equal to "5"
# |  %6 = scf.if %0 -> (f16) {
# |                           ^
# | <stdin>:14:2: note: possible intended match here
# |  %8 = llvm.load %5 {cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>} : !llvm.ptr<1> -> f16
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstoreprefetch.mlir:65:12: error: CHECK: expected string not found in input
# |  // CHECK: llvm.store %[[CST_0]], %[[VAR6]] {cache_control = #xevm.store_cache_control<L1wb_L2uc_L3uc>} : f32, !llvm.ptr<1>
# |            ^
# | <stdin>:64:13: note: scanning from here
# |  scf.if %0 {
# |             ^
# | <stdin>:64:13: note: with "CST_0" equal to "cst"
# |  scf.if %0 {
# |             ^
# | <stdin>:64:13: note: with "VAR6" equal to "5"
# |  scf.if %0 {
# |             ^
# | <stdin>:65:2: note: possible intended match here
# |  llvm.store %cst, %5 {cache_control = #xevm.store_cache_control<L1wb_L2uc_L3wb>} : f32, !llvm.ptr<1>
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstoreprefetch.mlir:84:12: error: CHECK: expected string not found in input
# |  // CHECK: xevm.prefetch %[[VAR4]] <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3uc>}> : (!llvm.ptr<1>)
# |            ^
# | <stdin>:81:45: note: scanning from here
# |  %4 = llvm.inttoptr %3 : i64 to !llvm.ptr<1>
# |                                             ^
# | <stdin>:81:45: note: with "VAR4" equal to "4"
# |  %4 = llvm.inttoptr %3 : i64 to !llvm.ptr<1>
# |                                             ^
# | <stdin>:82:2: note: possible intended match here
# |  xevm.prefetch %4 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>}> : (!llvm.ptr<1>)
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstoreprefetch.mlir:104:12: error: CHECK: expected string not found in input
# |  // CHECK: xevm.prefetch %[[VAR5]] <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3uc>}> : (!llvm.ptr<1>)
# |            ^
# | <stdin>:99:45: note: scanning from here
# |  %5 = llvm.inttoptr %4 : i64 to !llvm.ptr<1>
# |                                             ^
# | <stdin>:99:45: note: with "VAR5" equal to "5"
# |  %5 = llvm.inttoptr %4 : i64 to !llvm.ptr<1>
# |                                             ^
# | <stdin>:100:2: note: possible intended match here
# |  xevm.prefetch %5 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>}> : (!llvm.ptr<1>)
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\loadstoreprefetch.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |              8:  %1 = vector.extract %arg1[0] : index from vector<1xindex> 
# |              9:  %2 = arith.index_castui %1 : index to i64 
# |             10:  %3 = arith.muli %2, %c2_i64 : i64 
# |             11:  %4 = arith.addi %arg0, %3 : i64 
# |             12:  %5 = llvm.inttoptr %4 : i64 to !llvm.ptr<1> 
# |             13:  %6 = scf.if %0 -> (f16) { 
# | check:18'0                                X error: no match found
# | check:18'1                                  with "VAR5" equal to "5"
# |             14:  %8 = llvm.load %5 {cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>} : !llvm.ptr<1> -> f16 
# | check:18'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:18'2       ?                                                                                                 possible intended match
# |             15:  scf.yield %8 : f16 
# | check:18'0      ~~~~~~~~~~~~~~~~~~~~
# |             16:  } else { 
# | check:18'0      ~~~~~~~~~~
# |             17:  scf.yield %cst : f16 
# | check:18'0      ~~~~~~~~~~~~~~~~~~~~~~
# |             18:  } 
# | check:18'0      ~~~
# |             19:  %7 = vector.broadcast %6 : f16 to vector<1xf16> 
# | check:18'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |             59:  %1 = vector.extract %arg1[0] : index from vector<1xindex> 
# |             60:  %2 = arith.index_castui %1 : index to i64 
# |             61:  %3 = arith.muli %2, %c4_i64 : i64 
# |             62:  %4 = arith.addi %arg0, %3 : i64 
# |             63:  %5 = llvm.inttoptr %4 : i64 to !llvm.ptr<1> 
# |             64:  scf.if %0 { 
# | check:65'0                  X error: no match found
# | check:65'1                    with "CST_0" equal to "cst"
# | check:65'2                    with "VAR6" equal to "5"
# |             65:  llvm.store %cst, %5 {cache_control = #xevm.store_cache_control<L1wb_L2uc_L3wb>} : f32, !llvm.ptr<1> 
# | check:65'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:65'3       ?                                                                                                    possible intended match
# |             66:  } 
# | check:65'0      ~~~
# |             67:  gpu.return 
# | check:65'0      ~~~~~~~~~~~~
# |             68:  } 
# | check:65'0      ~~~
# |             69:  } 
# | check:65'0      ~~~
# |             70: } 
# | check:65'0      ~~
# |              .
# |              .
# |              .
# |             76:  %c4_i64 = arith.constant 4 : i64 
# |             77:  %0 = vector.extract %arg1[0] : index from vector<1xindex> 
# |             78:  %1 = arith.index_castui %0 : index to i64 
# |             79:  %2 = arith.muli %1, %c4_i64 : i64 
# |             80:  %3 = arith.addi %arg0, %2 : i64 
# |             81:  %4 = llvm.inttoptr %3 : i64 to !llvm.ptr<1> 
# | check:84'0                                                  X error: no match found
# | check:84'1                                                    with "VAR4" equal to "4"
# |             82:  xevm.prefetch %4 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>}> : (!llvm.ptr<1>) 
# | check:84'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:84'2       ?                                                                                             possible intended match
# |             83:  gpu.return 
# | check:84'0      ~~~~~~~~~~~~
# |             84:  } 
# | check:84'0      ~~~
# |             85:  } 
# | check:84'0      ~~~
# |             86: } 
# | check:84'0      ~~
# |             87:  
# | check:84'0      ~
# |              .
# |              .
# |              .
# |             94:  %1 = arith.index_castui %0 : index to i64 
# |             95:  %intptr = memref.extract_aligned_pointer_as_index %arg0 : memref<256xf32> -> index 
# |             96:  %2 = arith.index_castui %intptr : index to i64 
# |             97:  %3 = arith.muli %1, %c4_i64 : i64 
# |             98:  %4 = arith.addi %2, %3 : i64 
# |             99:  %5 = llvm.inttoptr %4 : i64 to !llvm.ptr<1> 
# | check:104'0                                                 X error: no match found
# | check:104'1                                                   with "VAR5" equal to "5"
# |            100:  xevm.prefetch %5 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>}> : (!llvm.ptr<1>) 
# | check:104'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:104'2      ?                                                                                             possible intended match
# |            101:  gpu.return 
# | check:104'0     ~~~~~~~~~~~~
# |            102:  } 
# | check:104'0     ~~~
# |            103:  } 
# | check:104'0     ~~~
# |            104: } 
# | check:104'0     ~~
# |            105:  
# | check:104'0     ~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>MLIR.Conversion/XeGPUToXeVM/prefetch_nd.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -convert-xegpu-to-xevm -canonicalize C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\prefetch_nd.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\prefetch_nd.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -convert-xegpu-to-xevm -canonicalize 'C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\prefetch_nd.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\Conversion\XeGPUToXeVM\prefetch_nd.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\prefetch_nd.mlir:16:16: error: CHECK-SAME: expected string not found in input
# |  //CHECK-SAME: <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3uc>, elem_size_in_bits = 32 : i32,
# |                ^
# | <stdin>:20:72: note: scanning from here
# |  xevm.blockprefetch2d %8, %c64_i32, %c8_i32, %c64_i32, %c0_i32, %c0_i32 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>, elem_size_in_bits = 32 : i32, tile_height = 8 : i32, tile_width = 16 : i32, v_blocks = 1 : i32}> : (!llvm.ptr<1>, i32, i32, i32, i32, i32)
# |                                                                        ^
# | <stdin>:20:73: note: possible intended match here
# |  xevm.blockprefetch2d %8, %c64_i32, %c8_i32, %c64_i32, %c0_i32, %c0_i32 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>, elem_size_in_bits = 32 : i32, tile_height = 8 : i32, tile_width = 16 : i32, v_blocks = 1 : i32}> : (!llvm.ptr<1>, i32, i32, i32, i32, i32)
# |                                                                         ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\prefetch_nd.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           15:  %4 = vector.insert %c8_i32, %3 [3] : i32 into vector<8xi32> 
# |           16:  %5 = vector.insert %c16_i32, %4 [4] : i32 into vector<8xi32> 
# |           17:  %6 = vector.bitcast %5 : vector<8xi32> to vector<4xi64> 
# |           18:  %7 = vector.extract %6[0] : i64 from vector<4xi64> 
# |           19:  %8 = llvm.inttoptr %7 : i64 to !llvm.ptr<1> 
# |           20:  xevm.blockprefetch2d %8, %c64_i32, %c8_i32, %c64_i32, %c0_i32, %c0_i32 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>, elem_size_in_bits = 32 : i32, tile_height = 8 : i32, tile_width = 16 : i32, v_blocks = 1 : i32}> : (!llvm.ptr<1>, i32, i32, i32, i32, i32) 
# | same:16'0                                                                            X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | same:16'1                                                                             ?                                                                                                                                                                                                     possible intended match
# |           21:  gpu.return 
# | same:16'0     ~~~~~~~~~~~~
# |           22:  } 
# | same:16'0     ~~~
# |           23:  } 
# | same:16'0     ~~~
# |           24: } 
# | same:16'0     ~~
# |           25:  
# | same:16'0     ~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>MLIR.Conversion/XeGPUToXeVM/prefetch_nd_sub_byte.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -convert-xegpu-to-xevm -canonicalize C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\prefetch_nd_sub_byte.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\prefetch_nd_sub_byte.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -convert-xegpu-to-xevm -canonicalize 'C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\prefetch_nd_sub_byte.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\Conversion\XeGPUToXeVM\prefetch_nd_sub_byte.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\prefetch_nd_sub_byte.mlir:14:17: error: CHECK-SAME: expected string not found in input
# |  // CHECK-SAME: <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3uc>, elem_size_in_bits = 16 : i32,
# |                 ^
# | <stdin>:20:74: note: scanning from here
# |  xevm.blockprefetch2d %8, %c64_i32, %c16_i32, %c64_i32, %c16_i32, %c8_i32 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>, elem_size_in_bits = 16 : i32, tile_height = 8 : i32, tile_width = 16 : i32, v_blocks = 1 : i32}> : (!llvm.ptr<1>, i32, i32, i32, i32, i32)
# |                                                                          ^
# | <stdin>:20:75: note: possible intended match here
# |  xevm.blockprefetch2d %8, %c64_i32, %c16_i32, %c64_i32, %c16_i32, %c8_i32 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>, elem_size_in_bits = 16 : i32, tile_height = 8 : i32, tile_width = 16 : i32, v_blocks = 1 : i32}> : (!llvm.ptr<1>, i32, i32, i32, i32, i32)
# |                                                                           ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Conversion\XeGPUToXeVM\prefetch_nd_sub_byte.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           15:  %4 = vector.insert %c16_i32, %3 [3] : i32 into vector<8xi32> 
# |           16:  %5 = vector.insert %c128_i32, %4 [4] : i32 into vector<8xi32> 
# |           17:  %6 = vector.bitcast %5 : vector<8xi32> to vector<4xi64> 
# |           18:  %7 = vector.extract %6[0] : i64 from vector<4xi64> 
# |           19:  %8 = llvm.inttoptr %7 : i64 to !llvm.ptr<1> 
# |           20:  xevm.blockprefetch2d %8, %c64_i32, %c16_i32, %c64_i32, %c16_i32, %c8_i32 <{cache_control = #xevm.load_cache_control<L1c_L2uc_L3c>, elem_size_in_bits = 16 : i32, tile_height = 8 : i32, tile_width = 16 : i32, v_blocks = 1 : i32}> : (!llvm.ptr<1>, i32, i32, i32, i32, i32) 
# | same:14'0                                                                              X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | same:14'1                                                                               ?                                                                                                                                                                                                     possible intended match
# |           21:  gpu.return 
# | same:14'0     ~~~~~~~~~~~~
# |           22:  } 
# | same:14'0     ~~~
# |           23:  } 
# | same:14'0     ~~~
# |           24: } 
# | same:14'0     ~~
# |           25:  
# | same:14'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/190954


More information about the Mlir-commits mailing list