Fix Transforms/ConstProp/2007-02-23-sdiv.ll and PR1215
authorChris Lattner <sabre@nondot.org>
Sat, 24 Feb 2007 01:19:50 +0000 (01:19 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 24 Feb 2007 01:19:50 +0000 (01:19 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34548 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/ConstantFold.cpp

index 7cb4b7bfbe51d58a13937ad3a650b24134f36d26..f0969fce1f140dc725256dc8950c6774523e25d5 100644 (file)
@@ -574,7 +574,8 @@ Constant *llvm::ConstantFoldBinaryInstruction(unsigned Opcode,
         if (CI2->isAllOnesValue() &&
             (((CI1->getType()->getPrimitiveSizeInBits() == 64) && 
               (CI1->getSExtValue() == INT64_MIN)) ||
-             (CI1->getSExtValue() == -CI1->getSExtValue())))
+             (CI1->getSExtValue() == -CI1->getSExtValue() &&
+              CI1->getSExtValue())))
           return 0;                              // MIN_INT / -1 -> overflow
         return ConstantInt::get(C1->getType(), 
                                 CI1->getSExtValue() / CI2->getSExtValue());