From fa13c712afce6f070f730df9f7ace9b385c0fa4c Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Wed, 20 May 2015 22:31:55 +0000 Subject: [PATCH] Revert r237828 "[X86] Remove unused node after morphing it from shr to and." 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 | 1 - test/CodeGen/X86/cmp.ll | 17 ----------------- 2 files changed, 18 deletions(-) diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 5b99adcb1bd..964a599e881 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -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; diff --git a/test/CodeGen/X86/cmp.ll b/test/CodeGen/X86/cmp.ll index fec47ec9380..584179aacbc 100644 --- a/test/CodeGen/X86/cmp.ll +++ b/test/CodeGen/X86/cmp.ll @@ -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 -}