[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