From 6b178a3801955490886e5729cbc85fe8e68fdc77 Mon Sep 17 00:00:00 2001
From: Chris Lattner <sabre@nondot.org>
Date: Sat, 24 Feb 2007 01:19:50 +0000
Subject: [PATCH] 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
---
 lib/VMCore/ConstantFold.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/VMCore/ConstantFold.cpp b/lib/VMCore/ConstantFold.cpp
index 7cb4b7bfbe5..f0969fce1f1 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());