[llvm] [InstCombine] Remove unnecessary one-use-check (PR #66419)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 14 12:17:16 PDT 2023
================
@@ -79,52 +75,3 @@ define <3 x i1> @or_xor_xor_normal_vector(<3 x i1> %a, <3 x i1> %b) {
%or = or <3 x i1> %xor1, %xor2
ret <3 x i1> %or
}
-
-define i3 @or_xor_xor_normal_multiple_uses_and(i3 %a, i3 %b) {
-; CHECK-LABEL: @or_xor_xor_normal_multiple_uses_and(
-; CHECK-NEXT: [[AND:%.*]] = and i3 [[A:%.*]], [[B:%.*]]
-; CHECK-NEXT: call void @use.i3(i3 [[AND]])
-; CHECK-NEXT: [[OR:%.*]] = xor i3 [[A]], [[B]]
-; CHECK-NEXT: ret i3 [[OR]]
-;
- %and = and i3 %a, %b
- call void @use.i3(i3 %and)
- %xor1 = xor i3 %b, %and
- %xor2 = xor i3 %a, %and
- %or = or i3 %xor1, %xor2
- ret i3 %or
-}
-
-define i32 @or_xor_xor_negative_multiple_uses_xor1(i32 %a, i32 %b) {
-; CHECK-LABEL: @or_xor_xor_negative_multiple_uses_xor1(
-; CHECK-NEXT: [[AND:%.*]] = and i32 [[A:%.*]], [[B:%.*]]
-; CHECK-NEXT: [[XOR1:%.*]] = xor i32 [[AND]], [[B]]
-; CHECK-NEXT: call void @use.i32(i32 [[XOR1]])
-; CHECK-NEXT: [[XOR2:%.*]] = xor i32 [[AND]], [[A]]
-; CHECK-NEXT: [[OR:%.*]] = or i32 [[XOR1]], [[XOR2]]
-; CHECK-NEXT: ret i32 [[OR]]
-;
- %and = and i32 %a, %b
- %xor1 = xor i32 %and, %b
- call void @use.i32(i32 %xor1)
- %xor2 = xor i32 %and, %a
- %or = or i32 %xor1, %xor2
- ret i32 %or
-}
-
-define i5 @or_xor_xor_negative_multiple_uses_xor2(i5 %a, i5 %b) {
-; CHECK-LABEL: @or_xor_xor_negative_multiple_uses_xor2(
-; CHECK-NEXT: [[AND:%.*]] = and i5 [[A:%.*]], [[B:%.*]]
-; CHECK-NEXT: [[XOR1:%.*]] = xor i5 [[AND]], [[B]]
-; CHECK-NEXT: [[XOR2:%.*]] = xor i5 [[AND]], [[A]]
-; CHECK-NEXT: call void @use.i5(i5 [[XOR2]])
-; CHECK-NEXT: [[OR:%.*]] = or i5 [[XOR1]], [[XOR2]]
-; CHECK-NEXT: ret i5 [[OR]]
-;
- %and = and i5 %a, %b
- %xor1 = xor i5 %and, %b
- %xor2 = xor i5 %and, %a
- call void @use.i5(i5 %xor2)
- %or = or i5 %xor1, %xor2
- ret i5 %or
-}
----------------
nikic wrote:
Please keep the multi-use tests, just update the check lines.
https://github.com/llvm/llvm-project/pull/66419
More information about the llvm-commits
mailing list