[Mlir-commits] [mlir] [mlir][mem2reg] Promote memory slots through transparent view operations (PR #196924)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Tue May 26 06:49:04 PDT 2026


github-actions[bot] wrote:

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

* 3774 tests passed
* 430 tests skipped
* 1 test failed

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

### MLIR
<details>
<summary>MLIR.Dialect/LLVMIR/mem2reg.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\Dialect\LLVMIR\mem2reg.mlir --pass-pipeline="builtin.module(llvm.func(mem2reg{region-simplify=false}))" --split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir' '--pass-pipeline=builtin.module(llvm.func(mem2reg{region-simplify=false}))' --split-input-file
# 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\LLVMIR\mem2reg.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1210:12: error: CHECK: expected string not found in input
# |  // CHECK: llvm.return %[[ARG0]] : i32
# |            ^
# | <stdin>:834:60: note: scanning from here
# |  llvm.func @promote_load_through_bitcast(%arg0: i32) -> i32 {
# |                                                            ^
# | <stdin>:834:60: note: with "ARG0" equal to "arg0"
# |  llvm.func @promote_load_through_bitcast(%arg0: i32) -> i32 {
# |                                                            ^
# | <stdin>:840:2: note: possible intended match here
# |  llvm.return %3 : i32
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1226:12: error: CHECK: expected string not found in input
# |  // CHECK: llvm.return %[[ARG0]] : i32
# |            ^
# | <stdin>:846:61: note: scanning from here
# |  llvm.func @promote_store_through_bitcast(%arg0: i32) -> i32 {
# |                                                             ^
# | <stdin>:846:61: note: with "ARG0" equal to "arg0"
# |  llvm.func @promote_store_through_bitcast(%arg0: i32) -> i32 {
# |                                                             ^
# | <stdin>:852:2: note: possible intended match here
# |  llvm.return %3 : i32
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1242:12: error: CHECK: expected string not found in input
# |  // CHECK: llvm.return %[[ARG0]] : i32
# |            ^
# | <stdin>:858:70: note: scanning from here
# |  llvm.func @promote_store_and_load_through_bitcast(%arg0: i32) -> i32 {
# |                                                                      ^
# | <stdin>:858:70: note: with "ARG0" equal to "arg0"
# |  llvm.func @promote_store_and_load_through_bitcast(%arg0: i32) -> i32 {
# |                                                                      ^
# | <stdin>:864:2: note: possible intended match here
# |  llvm.return %3 : i32
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1259:12: error: CHECK: expected string not found in input
# |  // CHECK: llvm.return %[[ARG0]] : i32
# |            ^
# | <stdin>:870:64: note: scanning from here
# |  llvm.func @promote_through_chained_bitcasts(%arg0: i32) -> i32 {
# |                                                                ^
# | <stdin>:870:64: note: with "ARG0" equal to "arg0"
# |  llvm.func @promote_through_chained_bitcasts(%arg0: i32) -> i32 {
# |                                                                ^
# | <stdin>:877:2: note: possible intended match here
# |  llvm.return %4 : i32
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1275:12: error: CHECK: expected string not found in input
# |  // CHECK: llvm.return %[[ARG0]] : i32
# |            ^
# | <stdin>:883:77: note: scanning from here
# |  llvm.func amdgpu_kernelcc @promote_through_addrspacecast(%arg0: i32) -> i32 {
# |                                                                             ^
# | <stdin>:883:77: note: with "ARG0" equal to "arg0"
# |  llvm.func amdgpu_kernelcc @promote_through_addrspacecast(%arg0: i32) -> i32 {
# |                                                                             ^
# | <stdin>:889:2: note: possible intended match here
# |  llvm.return %3 : i32
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1291:12: error: CHECK: expected string not found in input
# |  // CHECK: llvm.return %[[ARG0]] : i32
# |            ^
# | <stdin>:895:56: note: scanning from here
# |  llvm.func @promote_through_zero_gep(%arg0: i32) -> i32 {
# |                                                        ^
# | <stdin>:895:56: note: with "ARG0" equal to "arg0"
# |  llvm.func @promote_through_zero_gep(%arg0: i32) -> i32 {
# |                                                        ^
# | <stdin>:901:2: note: possible intended match here
# |  llvm.return %3 : i32
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1322:12: error: CHECK: expected string not found in input
# |  // CHECK: llvm.return %[[ARG0]] : i32
# |            ^
# | <stdin>:919:71: note: scanning from here
# |  llvm.func @promote_through_launder_invariant_group(%arg0: i32) -> i32 {
# |                                                                       ^
# | <stdin>:919:71: note: with "ARG0" equal to "arg0"
# |  llvm.func @promote_through_launder_invariant_group(%arg0: i32) -> i32 {
# |                                                                       ^
# | <stdin>:925:2: note: possible intended match here
# |  llvm.return %3 : i32
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1338:12: error: CHECK: expected string not found in input
# |  // CHECK: llvm.return %[[ARG0]] : i32
# |            ^
# | <stdin>:931:69: note: scanning from here
# |  llvm.func @promote_through_strip_invariant_group(%arg0: i32) -> i32 {
# |                                                                     ^
# | <stdin>:931:69: note: with "ARG0" equal to "arg0"
# |  llvm.func @promote_through_strip_invariant_group(%arg0: i32) -> i32 {
# |                                                                     ^
# | <stdin>:937:2: note: possible intended match here
# |  llvm.return %3 : i32
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1355:12: error: CHECK: expected string not found in input
# |  // CHECK: llvm.br ^[[BB3:.*]](%[[ARG1]] : i32)
# |            ^
# | <stdin>:943:90: note: scanning from here
# |  llvm.func @promote_through_alias_across_blocks(%arg0: i1, %arg1: i32, %arg2: i32) -> i32 {
# |                                                                                          ^
# | <stdin>:943:90: note: with "ARG1" equal to "arg1"
# |  llvm.func @promote_through_alias_across_blocks(%arg0: i1, %arg1: i32, %arg2: i32) -> i32 {
# |                                                                                          ^
# | <stdin>:956:2: note: possible intended match here
# |  llvm.return %3 : i32
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1382:12: error: CHECK: expected string not found in input
# |  // CHECK: %[[UNDEF:.*]] = llvm.mlir.undef : f32
# |            ^
# | <stdin>:962:48: note: scanning from here
# |  llvm.func @load_int_from_float_through_bitcast() -> i32 {
# |                                                ^
# | <stdin>:963:2: note: possible intended match here
# |  %0 = llvm.mlir.constant(1 : i32) : i32
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1404:12: error: CHECK: expected string not found in input
# |  // CHECK: %[[CAST:.*]] = llvm.bitcast %[[ARG]] : f32 to i32
# |            ^
# | <stdin>:973:58: note: scanning from here
# |  llvm.func @store_float_to_int_through_bitcast(%arg0: f32) -> i32 {
# |                                                          ^
# | <stdin>:973:58: note: with "ARG" equal to "arg0"
# |  llvm.func @store_float_to_int_through_bitcast(%arg0: f32) -> i32 {
# |                                                          ^
# | <stdin>:976:2: note: possible intended match here
# |  %2 = llvm.bitcast %1 : !llvm.ptr to !llvm.ptr
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1423:12: error: CHECK: expected string not found in input
# |  // CHECK: %[[CAST:.*]] = llvm.bitcast %[[ARG]] : i32 to vector<4xi8>
# |            ^
# | <stdin>:985:60: note: scanning from here
# |  llvm.func @store_int_to_vector_through_bitcasts(%arg0: i32) -> vector<4xi8> {
# |                                                            ^
# | <stdin>:985:60: note: with "ARG" equal to "arg0"
# |  llvm.func @store_int_to_vector_through_bitcasts(%arg0: i32) -> vector<4xi8> {
# |                                                            ^
# | <stdin>:991:2: note: possible intended match here
# |  llvm.return %3 : vector<4xi8>
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1441:12: error: CHECK: expected string not found in input
# |  // CHECK: %[[CAST:.*]] = llvm.bitcast %{{.*}} : f64 to i64
# |            ^
# | <stdin>:997:63: note: scanning from here
# |  llvm.func amdgpu_kernelcc @load_smaller_through_addrspacecast() -> f32 {
# |                                                               ^
# | <stdin>:998:2: note: possible intended match here
# |  %0 = llvm.mlir.constant(1 : i32) : i32
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1460:12: error: CHECK: expected string not found in input
# |  // CHECK: %[[UNDEF:.+]] = llvm.mlir.undef : f32
# |            ^
# | <stdin>:1008:63: note: scanning from here
# |  llvm.func @partial_store_through_zero_gep(%arg0: vector<1xi8>) {
# |                                                               ^
# | <stdin>:1009:2: note: possible intended match here
# |  %0 = llvm.mlir.constant(1 : i32) : i32
# |  ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir:1487:12: error: CHECK: expected string not found in input
# |  // CHECK: %[[UNDEF:.+]] = llvm.mlir.undef : i32
# |            ^
# | <stdin>:1019:82: note: scanning from here
# |  llvm.func @cross_block_partial_store_through_alias(%arg0: i1, %arg1: i16) -> i32 {
# |                                                                                  ^
# | <stdin>:1020:2: note: possible intended match here
# |  %0 = llvm.mlir.constant(1 : i32) : i32
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\LLVMIR\mem2reg.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |               .
# |               .
# |               .
# |             829:  } 
# |             830: } 
# |             831:  
# |             832: // ----- 
# |             833: module { 
# |             834:  llvm.func @promote_load_through_bitcast(%arg0: i32) -> i32 { 
# | check:1210'0                                                                X~~ error: no match found
# | check:1210'1                                                                    with "ARG0" equal to "arg0"
# |             835:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1210'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             836:  %1 = llvm.alloca %0 x i32 : (i32) -> !llvm.ptr 
# | check:1210'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             837:  %2 = llvm.bitcast %1 : !llvm.ptr to !llvm.ptr 
# | check:1210'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             838:  llvm.store %arg0, %1 : i32, !llvm.ptr 
# | check:1210'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             839:  %3 = llvm.load %2 : !llvm.ptr -> i32 
# | check:1210'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             840:  llvm.return %3 : i32 
# | check:1210'0     ~~~~~~~~~~~~~~~~~~~~~~
# | check:1210'2      ?                     possible intended match
# |             841:  } 
# | check:1210'0     ~~~
# |             842: } 
# | check:1210'0     ~~
# |             843:  
# | check:1210'0     ~
# |             844: // ----- 
# | check:1210'0     ~~~~~~~~~
# |             845: module { 
# | check:1210'0     ~~~~~~~~~
# |             846:  llvm.func @promote_store_through_bitcast(%arg0: i32) -> i32 { 
# | check:1210'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1226'0                                                                 X~~ error: no match found
# | check:1226'1                                                                     with "ARG0" equal to "arg0"
# |             847:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1226'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             848:  %1 = llvm.alloca %0 x i32 : (i32) -> !llvm.ptr 
# | check:1226'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             849:  %2 = llvm.bitcast %1 : !llvm.ptr to !llvm.ptr 
# | check:1226'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             850:  llvm.store %arg0, %2 : i32, !llvm.ptr 
# | check:1226'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             851:  %3 = llvm.load %1 : !llvm.ptr -> i32 
# | check:1226'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             852:  llvm.return %3 : i32 
# | check:1226'0     ~~~~~~~~~~~~~~~~~~~~~~
# | check:1226'2      ?                     possible intended match
# |             853:  } 
# | check:1226'0     ~~~
# |             854: } 
# | check:1226'0     ~~
# |             855:  
# | check:1226'0     ~
# |             856: // ----- 
# | check:1226'0     ~~~~~~~~~
# |             857: module { 
# | check:1226'0     ~~~~~~~~~
# |             858:  llvm.func @promote_store_and_load_through_bitcast(%arg0: i32) -> i32 { 
# | check:1226'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1242'0                                                                          X~~ error: no match found
# | check:1242'1                                                                              with "ARG0" equal to "arg0"
# |             859:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1242'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             860:  %1 = llvm.alloca %0 x i32 : (i32) -> !llvm.ptr 
# | check:1242'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             861:  %2 = llvm.bitcast %1 : !llvm.ptr to !llvm.ptr 
# | check:1242'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             862:  llvm.store %arg0, %2 : i32, !llvm.ptr 
# | check:1242'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             863:  %3 = llvm.load %2 : !llvm.ptr -> i32 
# | check:1242'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             864:  llvm.return %3 : i32 
# | check:1242'0     ~~~~~~~~~~~~~~~~~~~~~~
# | check:1242'2      ?                     possible intended match
# |             865:  } 
# | check:1242'0     ~~~
# |             866: } 
# | check:1242'0     ~~
# |             867:  
# | check:1242'0     ~
# |             868: // ----- 
# | check:1242'0     ~~~~~~~~~
# |             869: module { 
# | check:1242'0     ~~~~~~~~~
# |             870:  llvm.func @promote_through_chained_bitcasts(%arg0: i32) -> i32 { 
# | check:1242'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1259'0                                                                    X~~ error: no match found
# | check:1259'1                                                                        with "ARG0" equal to "arg0"
# |             871:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1259'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             872:  %1 = llvm.alloca %0 x i32 : (i32) -> !llvm.ptr 
# | check:1259'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             873:  %2 = llvm.bitcast %1 : !llvm.ptr to !llvm.ptr 
# | check:1259'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             874:  %3 = llvm.bitcast %2 : !llvm.ptr to !llvm.ptr 
# | check:1259'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             875:  llvm.store %arg0, %3 : i32, !llvm.ptr 
# | check:1259'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             876:  %4 = llvm.load %3 : !llvm.ptr -> i32 
# | check:1259'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             877:  llvm.return %4 : i32 
# | check:1259'0     ~~~~~~~~~~~~~~~~~~~~~~
# | check:1259'2      ?                     possible intended match
# |             878:  } 
# | check:1259'0     ~~~
# |             879: } 
# | check:1259'0     ~~
# |             880:  
# | check:1259'0     ~
# |             881: // ----- 
# | check:1259'0     ~~~~~~~~~
# |             882: module { 
# | check:1259'0     ~~~~~~~~~
# |             883:  llvm.func amdgpu_kernelcc @promote_through_addrspacecast(%arg0: i32) -> i32 { 
# | check:1259'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1275'0                                                                                 X~~ error: no match found
# | check:1275'1                                                                                     with "ARG0" equal to "arg0"
# |             884:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1275'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             885:  %1 = llvm.alloca %0 x i32 : (i32) -> !llvm.ptr<5> 
# | check:1275'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             886:  %2 = llvm.addrspacecast %1 : !llvm.ptr<5> to !llvm.ptr 
# | check:1275'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             887:  llvm.store %arg0, %2 : i32, !llvm.ptr 
# | check:1275'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             888:  %3 = llvm.load %2 : !llvm.ptr -> i32 
# | check:1275'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             889:  llvm.return %3 : i32 
# | check:1275'0     ~~~~~~~~~~~~~~~~~~~~~~
# | check:1275'2      ?                     possible intended match
# |             890:  } 
# | check:1275'0     ~~~
# |             891: } 
# | check:1275'0     ~~
# |             892:  
# | check:1275'0     ~
# |             893: // ----- 
# | check:1275'0     ~~~~~~~~~
# |             894: module { 
# | check:1275'0     ~~~~~~~~~
# |             895:  llvm.func @promote_through_zero_gep(%arg0: i32) -> i32 { 
# | check:1275'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1291'0                                                            X~~ error: no match found
# | check:1291'1                                                                with "ARG0" equal to "arg0"
# |             896:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1291'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             897:  %1 = llvm.alloca %0 x i32 : (i32) -> !llvm.ptr 
# | check:1291'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             898:  %2 = llvm.getelementptr %1[0] : (!llvm.ptr) -> !llvm.ptr, i32 
# | check:1291'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             899:  llvm.store %arg0, %2 : i32, !llvm.ptr 
# | check:1291'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             900:  %3 = llvm.load %2 : !llvm.ptr -> i32 
# | check:1291'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             901:  llvm.return %3 : i32 
# | check:1291'0     ~~~~~~~~~~~~~~~~~~~~~~
# | check:1291'2      ?                     possible intended match
# |             902:  } 
# | check:1291'0     ~~~
# |             903: } 
# | check:1291'0     ~~
# |             904:  
# | check:1291'0     ~
# |             905: // ----- 
# | check:1291'0     ~~~~~~~~~
# |             906: module { 
# | check:1291'0     ~~~~~~~~~
# |               .
# |               .
# |               .
# |             914:  } 
# |             915: } 
# |             916:  
# |             917: // ----- 
# |             918: module { 
# |             919:  llvm.func @promote_through_launder_invariant_group(%arg0: i32) -> i32 { 
# | check:1322'0                                                                           X~~ error: no match found
# | check:1322'1                                                                               with "ARG0" equal to "arg0"
# |             920:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1322'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             921:  %1 = llvm.alloca %0 x i32 : (i32) -> !llvm.ptr 
# | check:1322'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             922:  %2 = llvm.intr.launder.invariant.group %1 : !llvm.ptr 
# | check:1322'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             923:  llvm.store %arg0, %2 : i32, !llvm.ptr 
# | check:1322'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             924:  %3 = llvm.load %2 : !llvm.ptr -> i32 
# | check:1322'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             925:  llvm.return %3 : i32 
# | check:1322'0     ~~~~~~~~~~~~~~~~~~~~~~
# | check:1322'2      ?                     possible intended match
# |             926:  } 
# | check:1322'0     ~~~
# |             927: } 
# | check:1322'0     ~~
# |             928:  
# | check:1322'0     ~
# |             929: // ----- 
# | check:1322'0     ~~~~~~~~~
# |             930: module { 
# | check:1322'0     ~~~~~~~~~
# |             931:  llvm.func @promote_through_strip_invariant_group(%arg0: i32) -> i32 { 
# | check:1322'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1338'0                                                                         X~~ error: no match found
# | check:1338'1                                                                             with "ARG0" equal to "arg0"
# |             932:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1338'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             933:  %1 = llvm.alloca %0 x i32 : (i32) -> !llvm.ptr 
# | check:1338'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             934:  %2 = llvm.intr.strip.invariant.group %1 : !llvm.ptr 
# | check:1338'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             935:  llvm.store %arg0, %2 : i32, !llvm.ptr 
# | check:1338'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             936:  %3 = llvm.load %2 : !llvm.ptr -> i32 
# | check:1338'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             937:  llvm.return %3 : i32 
# | check:1338'0     ~~~~~~~~~~~~~~~~~~~~~~
# | check:1338'2      ?                     possible intended match
# |             938:  } 
# | check:1338'0     ~~~
# |             939: } 
# | check:1338'0     ~~
# |             940:  
# | check:1338'0     ~
# |             941: // ----- 
# | check:1338'0     ~~~~~~~~~
# |             942: module { 
# | check:1338'0     ~~~~~~~~~
# |             943:  llvm.func @promote_through_alias_across_blocks(%arg0: i1, %arg1: i32, %arg2: i32) -> i32 { 
# | check:1338'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1355'0                                                                                              X~~ error: no match found
# | check:1355'1                                                                                                  with "ARG1" equal to "arg1"
# |             944:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1355'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             945:  %1 = llvm.alloca %0 x i32 : (i32) -> !llvm.ptr 
# | check:1355'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             946:  %2 = llvm.bitcast %1 : !llvm.ptr to !llvm.ptr 
# | check:1355'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             947:  llvm.cond_br %arg0, ^bb1, ^bb2 
# | check:1355'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             948:  ^bb1: // pred: ^bb0 
# | check:1355'0     ~~~~~~~~~~~~~~~~~~~~~
# |               .
# |               .
# |               .
# |             951:  ^bb2: // pred: ^bb0 
# | check:1355'0     ~~~~~~~~~~~~~~~~~~~~~
# |             952:  llvm.store %arg2, %1 : i32, !llvm.ptr 
# | check:1355'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             953:  llvm.br ^bb3 
# | check:1355'0     ~~~~~~~~~~~~~~
# |             954:  ^bb3: // 2 preds: ^bb1, ^bb2 
# | check:1355'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             955:  %3 = llvm.load %2 : !llvm.ptr -> i32 
# | check:1355'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             956:  llvm.return %3 : i32 
# | check:1355'0     ~~~~~~~~~~~~~~~~~~~~~~
# | check:1355'2      ?                     possible intended match
# |             957:  } 
# | check:1355'0     ~~~
# |             958: } 
# | check:1355'0     ~~
# |             959:  
# | check:1355'0     ~
# |             960: // ----- 
# | check:1355'0     ~~~~~~~~~
# |             961: module { 
# | check:1355'0     ~~~~~~~~~
# |             962:  llvm.func @load_int_from_float_through_bitcast() -> i32 { 
# | check:1355'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1382'0                                                    X~~~~~~~~~~~ error: no match found
# |             963:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1382'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1382'1      ?                                       possible intended match
# |             964:  %1 = llvm.alloca %0 x f32 : (i32) -> !llvm.ptr 
# | check:1382'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             965:  %2 = llvm.bitcast %1 : !llvm.ptr to !llvm.ptr 
# | check:1382'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             966:  %3 = llvm.load %2 : !llvm.ptr -> i32 
# | check:1382'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             967:  llvm.return %3 : i32 
# | check:1382'0     ~~~~~~~~~~~~~~~~~~~~~~
# |             968:  } 
# | check:1382'0     ~~~
# |             969: } 
# | check:1382'0     ~~
# |             970:  
# | check:1382'0     ~
# |             971: // ----- 
# | check:1382'0     ~~~~~~~~~
# |             972: module { 
# | check:1382'0     ~~~~~~~~~
# |             973:  llvm.func @store_float_to_int_through_bitcast(%arg0: f32) -> i32 { 
# | check:1382'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1404'0                                                              X~~~~~~~~~~ error: no match found
# | check:1404'1                                                                          with "ARG" equal to "arg0"
# |             974:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1404'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             975:  %1 = llvm.alloca %0 x i32 : (i32) -> !llvm.ptr 
# | check:1404'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             976:  %2 = llvm.bitcast %1 : !llvm.ptr to !llvm.ptr 
# | check:1404'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1404'2      ?                                              possible intended match
# |             977:  llvm.store %arg0, %2 : f32, !llvm.ptr 
# | check:1404'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             978:  %3 = llvm.load %1 : !llvm.ptr -> i32 
# | check:1404'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             979:  llvm.return %3 : i32 
# | check:1404'0     ~~~~~~~~~~~~~~~~~~~~~~
# |             980:  } 
# | check:1404'0     ~~~
# |             981: } 
# | check:1404'0     ~~
# |             982:  
# | check:1404'0     ~
# |             983: // ----- 
# | check:1404'0     ~~~~~~~~~
# |             984: module { 
# | check:1404'0     ~~~~~~~~~
# |             985:  llvm.func @store_int_to_vector_through_bitcasts(%arg0: i32) -> vector<4xi8> { 
# | check:1404'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1423'0                                                                X~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:1423'1                                                                                     with "ARG" equal to "arg0"
# |             986:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1423'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             987:  %1 = llvm.alloca %0 x vector<2xi16> : (i32) -> !llvm.ptr 
# | check:1423'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             988:  %2 = llvm.bitcast %1 : !llvm.ptr to !llvm.ptr 
# | check:1423'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             989:  llvm.store %arg0, %2 : i32, !llvm.ptr 
# | check:1423'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             990:  %3 = llvm.load %2 : !llvm.ptr -> vector<4xi8> 
# | check:1423'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             991:  llvm.return %3 : vector<4xi8> 
# | check:1423'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1423'2      ?                              possible intended match
# |             992:  } 
# | check:1423'0     ~~~
# |             993: } 
# | check:1423'0     ~~
# |             994:  
# | check:1423'0     ~
# |             995: // ----- 
# | check:1423'0     ~~~~~~~~~
# |             996: module { 
# | check:1423'0     ~~~~~~~~~
# |             997:  llvm.func amdgpu_kernelcc @load_smaller_through_addrspacecast() -> f32 { 
# | check:1423'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1441'0                                                                   X~~~~~~~~~~~ error: no match found
# |             998:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1441'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1441'1      ?                                       possible intended match
# |             999:  %1 = llvm.alloca %0 x f64 : (i32) -> !llvm.ptr<5> 
# | check:1441'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1000:  %2 = llvm.addrspacecast %1 : !llvm.ptr<5> to !llvm.ptr 
# | check:1441'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1001:  %3 = llvm.load %2 : !llvm.ptr -> f32 
# | check:1441'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1002:  llvm.return %3 : f32 
# | check:1441'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            1003:  } 
# | check:1441'0     ~~~
# |            1004: } 
# | check:1441'0     ~~
# |            1005:  
# | check:1441'0     ~
# |            1006: // ----- 
# | check:1441'0     ~~~~~~~~~
# |            1007: module { 
# | check:1441'0     ~~~~~~~~~
# |            1008:  llvm.func @partial_store_through_zero_gep(%arg0: vector<1xi8>) { 
# | check:1441'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1460'0                                                                   X~~~ error: no match found
# |            1009:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1460'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1460'1      ?                                       possible intended match
# |            1010:  %1 = llvm.alloca %0 x f32 : (i32) -> !llvm.ptr 
# | check:1460'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1011:  %2 = llvm.getelementptr %1[0] : (!llvm.ptr) -> !llvm.ptr, f32 
# | check:1460'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1012:  llvm.store %arg0, %2 : vector<1xi8>, !llvm.ptr 
# | check:1460'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1013:  llvm.return 
# | check:1460'0     ~~~~~~~~~~~~~
# |            1014:  } 
# | check:1460'0     ~~~
# |            1015: } 
# | check:1460'0     ~~
# |            1016:  
# | check:1460'0     ~
# |            1017: // ----- 
# | check:1460'0     ~~~~~~~~~
# |            1018: module { 
# | check:1460'0     ~~~~~~~~~
# |            1019:  llvm.func @cross_block_partial_store_through_alias(%arg0: i1, %arg1: i16) -> i32 { 
# | check:1460'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1487'0                                                                                      X~~ error: no match found
# |            1020:  %0 = llvm.mlir.constant(1 : i32) : i32 
# | check:1487'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1487'1      ?                                       possible intended match
# |            1021:  %1 = llvm.alloca %0 x i32 : (i32) -> !llvm.ptr 
# | check:1487'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1022:  %2 = llvm.intr.launder.invariant.group %1 : !llvm.ptr 
# | check:1487'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1023:  llvm.cond_br %arg0, ^bb1, ^bb2 
# | check:1487'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1024:  ^bb1: // pred: ^bb0 
# | check:1487'0     ~~~~~~~~~~~~~~~~~~~~~
# |            1025:  llvm.store %arg1, %2 : i16, !llvm.ptr 
# | check:1487'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/196924


More information about the Mlir-commits mailing list