[Mlir-commits] [mlir] [MLIR][Mem2Reg] Replace pattern based approach with a bulk one (PR #85426)
Théo Degioanni
llvmlistbot at llvm.org
Fri Mar 15 10:36:45 PDT 2024
================
@@ -72,7 +79,17 @@ llvm.func @exotic_target_memset_constant() -> i40 {
%memset_len = llvm.mlir.constant(5 : i32) : i32
"llvm.intr.memset"(%1, %memset_value, %memset_len) <{isVolatile = false}> : (!llvm.ptr, i8, i32) -> ()
%2 = llvm.load %1 {alignment = 4 : i64} : !llvm.ptr -> i40
- // CHECK: %[[RES:.*]] = llvm.mlir.constant(181096032810 : i40) : i40
+ // CHECK: %[[C42:.*]] = llvm.mlir.constant(42 : i8) : i8
+ // CHECK: %[[ZEXT_42:.*]] = llvm.zext %[[C42]] : i8 to i40
+ // CHECK: %[[C8:.*]] = llvm.mlir.constant(8 : i40) : i40
+ // CHECK: %[[SHIFTED_42:.*]] = llvm.shl %[[ZEXT_42]], %[[C8]] : i40
+ // CHECK: %[[OR_0:.*]] = llvm.or %[[ZEXT_42]], %[[SHIFTED_42]] : i40
+ // CHECK: %[[C16:.*]] = llvm.mlir.constant(16 : i40) : i40
+ // CHECK: %[[SHIFTED_COMPL:.*]] = llvm.shl %[[OR_0]], %[[C16]] : i40
+ // CHECK: %[[OR_1:.*]] = llvm.or %[[OR_0]], %[[SHIFTED_COMPL]] : i40
+ // CHECK: %[[C32:.*]] = llvm.mlir.constant(32 : i40) : i40
+ // CHECK: %[[OR_COMPL:.*]] = llvm.shl %[[OR_1]], %[[C32]] : i40
+ // CHECK: %[[RES:.*]] = llvm.or %[[OR_1]], %[[OR_COMPL]] : i40
----------------
Moxinilian wrote:
Now that folding does not happen I feel like this test is a bit superfluous. You can probably remove it if you want (or not).
https://github.com/llvm/llvm-project/pull/85426
More information about the Mlir-commits
mailing list