Revert r237828 "[X86] Remove unused node after morphing it from shr to and."
authorHans Wennborg <hans@hanshq.net>
Wed, 20 May 2015 22:31:55 +0000 (22:31 +0000)
committerHans Wennborg <hans@hanshq.net>
Wed, 20 May 2015 22:31:55 +0000 (22:31 +0000)
This caused assertions during DAG combine: PR23601.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237843 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/cmp.ll

index 5b99adcb1bd4d6f260ac4f0de753f2688c616db0..964a599e8815cf03e124b0b2207bc8a14f027d99 100644 (file)
@@ -12737,7 +12737,6 @@ SDValue X86TargetLowering::EmitTest(SDValue Op, unsigned X86CC, SDLoc dl,
       SDValue New = DAG.getNode(ISD::AND, dl, VT, Op->getOperand(0),
                                 DAG.getConstant(Mask, dl, VT));
       DAG.ReplaceAllUsesWith(Op, New);
-      DAG.RemoveDeadNode(Op.getNode());
       Op = New;
     }
     break;
index fec47ec93805844586e236f03163d7c053444003..584179aacbc9ccd1d143ba839db9038e65ad0903 100644 (file)
@@ -211,20 +211,3 @@ define zeroext i1 @test15(i32 %bf.load, i32 %n) {
 ; CHECK:  shrl $16, %edi
 ; CHECK:  cmpl %esi, %edi
 }
-
-; PR23353
-define i1 @test16(i32* %a, i1* %b) {
-  %load = load i32, i32* %a
-  %trunc = trunc i32 %load to i8
-  %mul = mul i8 %trunc, 2
-  %icmp1 = icmp ne i8 %mul, 0
-  store i1 %icmp1, i1* %b
-  %and = and i8 %trunc, 127
-  %icmp2 = icmp ne i8 %and, 0
-  ret i1 %icmp2
-
-; CHECK-LABEL: test16:
-; CHECK-NOT: addb
-; CHECK-NOT: andb
-; CHECK: testb $127
-}