[llvm] r223624 - Revert a part of r223583, for now. It seems causing different emission between stage2(gcc-clang) and stage3 clang. Investigating.

NAKAMURA Takumi geek4civic at gmail.com
Sun Dec 7 18:07:23 PST 2014


Author: chapuni
Date: Sun Dec  7 20:07:22 2014
New Revision: 223624

URL: http://llvm.org/viewvc/llvm-project?rev=223624&view=rev
Log:
Revert a part of r223583, for now. It seems causing different emission between stage2(gcc-clang) and stage3 clang. Investigating.

Modified:
    llvm/trunk/lib/Analysis/InstructionSimplify.cpp
    llvm/trunk/test/Transforms/InstSimplify/AndOrXor.ll

Modified: llvm/trunk/lib/Analysis/InstructionSimplify.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/InstructionSimplify.cpp?rev=223624&r1=223623&r2=223624&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/InstructionSimplify.cpp (original)
+++ llvm/trunk/lib/Analysis/InstructionSimplify.cpp Sun Dec  7 20:07:22 2014
@@ -1476,11 +1476,6 @@ static Value *simplifyUnsignedRangeCheck
     return UnsignedICmp;
   }
 
-  // X < Y && Y == 0  -->  false
-  if (UnsignedPred == ICmpInst::ICMP_ULT && EqPred == ICmpInst::ICMP_EQ &&
-      IsAnd)
-    return getFalse(UnsignedICmp->getType());
-
   return nullptr;
 }
 

Modified: llvm/trunk/test/Transforms/InstSimplify/AndOrXor.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstSimplify/AndOrXor.ll?rev=223624&r1=223623&r2=223624&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/InstSimplify/AndOrXor.ll (original)
+++ llvm/trunk/test/Transforms/InstSimplify/AndOrXor.ll Sun Dec  7 20:07:22 2014
@@ -166,15 +166,6 @@ define i1 @and_icmp1(i32 %x, i32 %y) {
 ; CHECK: %[[cmp:.*]] = icmp ult i32 %x, %y
 ; CHECK: ret i1 %[[cmp]]
 
-define i1 @and_icmp2(i32 %x, i32 %y) {
-  %1 = icmp ult i32 %x, %y
-  %2 = icmp eq i32 %y, 0
-  %3 = and i1 %1, %2
-  ret i1 %3
-}
-; CHECK-LABEL: @and_icmp2(
-; CHECK: ret i1 false
-
 define i1 @or_icmp1(i32 %x, i32 %y) {
   %1 = icmp ult i32 %x, %y
   %2 = icmp ne i32 %y, 0





More information about the llvm-commits mailing list