diff options
author | Chris Lattner <sabre@nondot.org> | 2007-02-24 01:19:50 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-02-24 01:19:50 +0000 |
commit | 6b178a3801955490886e5729cbc85fe8e68fdc77 (patch) | |
tree | 14f5fd9dbf1ba22893d64d145c3ac7563a9d76b7 /lib/VMCore/ConstantFold.cpp | |
parent | 3150642dca48118e394ebfe30e8b48af6815b55e (diff) | |
download | llvm-6b178a3801955490886e5729cbc85fe8e68fdc77.tar.gz llvm-6b178a3801955490886e5729cbc85fe8e68fdc77.tar.bz2 llvm-6b178a3801955490886e5729cbc85fe8e68fdc77.tar.xz |
Fix Transforms/ConstProp/2007-02-23-sdiv.ll and PR1215
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34548 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/ConstantFold.cpp')
-rw-r--r-- | lib/VMCore/ConstantFold.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/VMCore/ConstantFold.cpp b/lib/VMCore/ConstantFold.cpp index 7cb4b7bfbe..f0969fce1f 100644 --- a/lib/VMCore/ConstantFold.cpp +++ b/lib/VMCore/ConstantFold.cpp @@ -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()); |