Move variables to where they are used and give them better names. No functional chang...
authorKay Tiong Khoo <kkhoo@perfwizard.com>
Mon, 2 Dec 2013 22:20:40 +0000 (22:20 +0000)
committerKay Tiong Khoo <kkhoo@perfwizard.com>
Mon, 2 Dec 2013 22:20:40 +0000 (22:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196163 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/InstCombine/InstCombineCompares.cpp

index d597885a64b0680b02db2715d5b63deeece25c49..a40545115d44113b9c8ed6d61491907edeeb0b59 100644 (file)
@@ -1194,8 +1194,6 @@ Instruction *InstCombiner::visitICmpInstWithInstAndIntCst(ICmpInst &ICI,
 
       ConstantInt *ShAmt;
       ShAmt = Shift ? dyn_cast<ConstantInt>(Shift->getOperand(1)) : 0;
-      Type *Ty = Shift ? Shift->getType() : 0;  // Type of the shift.
-      Type *AndTy = AndCst->getType();          // Type of the and.
 
       // We can fold this as long as we can't shift unknown bits
       // into the mask. This can happen with signed shift
@@ -1210,11 +1208,15 @@ Instruction *InstCombiner::visitICmpInstWithInstAndIntCst(ICmpInst &ICI,
         if (ShiftOpcode == Instruction::AShr) {
           // To test for the bad case of the signed shr, see if any
           // of the bits shifted in could be tested after the mask.
-          uint32_t TyBits = Ty->getPrimitiveSizeInBits();
-          int ShAmtVal = TyBits - ShAmt->getLimitedValue(TyBits);
+          Type *ShiftType = Shift->getType();
+          Type *AndType = AndCst->getType();
+          unsigned ShiftBitWidth = ShiftType->getPrimitiveSizeInBits();
+          unsigned AndBitWidth = AndType->getPrimitiveSizeInBits();
 
-          uint32_t BitWidth = AndTy->getPrimitiveSizeInBits();
-          if ((APInt::getHighBitsSet(BitWidth, BitWidth-ShAmtVal) &
+          int ShAmtVal = ShiftBitWidth - ShAmt->getLimitedValue(ShiftBitWidth);
+
+          if ((APInt::getHighBitsSet(AndBitWidth, AndBitWidth - ShAmtVal) &
                AndCst->getValue()) == 0)
             CanFold = true;
         } else if (ShiftOpcode == Instruction::Shl ||