fix crash on Transforms/InstCombine/intrinsics.ll introduced by r89970
authorChris Lattner <sabre@nondot.org>
Thu, 26 Nov 2009 22:08:06 +0000 (22:08 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 26 Nov 2009 22:08:06 +0000 (22:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89972 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/InstructionCombining.cpp

index f997d60a85ee56d17408cc9b3fc2359872b69b31..c7ab9df572242ca5f06cbbe2cd9d582e61d695c7 100644 (file)
@@ -9877,12 +9877,15 @@ Instruction *InstCombiner::visitCallInst(CallInst &CI) {
     const IntegerType *IT = cast<IntegerType>(II->getOperand(1)->getType());
     uint32_t BitWidth = IT->getBitWidth();
     APInt Mask = APInt::getSignBit(BitWidth);
-    APInt LHSKnownZero, LHSKnownOne, RHSKnownZero, RHSKnownOne;
+    APInt LHSKnownZero(BitWidth, 0);
+    APInt LHSKnownOne(BitWidth, 0);
     ComputeMaskedBits(LHS, Mask, LHSKnownZero, LHSKnownOne);
     bool LHSKnownNegative = LHSKnownOne[BitWidth - 1];
     bool LHSKnownPositive = LHSKnownZero[BitWidth - 1];
 
     if (LHSKnownNegative || LHSKnownPositive) {
+      APInt RHSKnownZero(BitWidth, 0);
+      APInt RHSKnownOne(BitWidth, 0);
       ComputeMaskedBits(RHS, Mask, RHSKnownZero, RHSKnownOne);
       bool RHSKnownNegative = RHSKnownOne[BitWidth - 1];
       bool RHSKnownPositive = RHSKnownZero[BitWidth - 1];