[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp

Zhou Sheng zhousheng00 at gmail.com
Sun Mar 11 22:45:09 PDT 2007



Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.652 -> 1.653
---
Log message:

In function ComputeMaskedBits():
  1. Replace getSignedMinValue() with getSignBit() for better code readability.
  2. Replace APIntOps::shl() with operator<<= for convenience.
  3. Make APInt construction more effective.


---
Diffs of the changes:  (+6 -6)

 InstructionCombining.cpp |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)


Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.652 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.653
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.652	Thu Mar  8 09:15:18 2007
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp	Mon Mar 12 00:44:52 2007
@@ -695,7 +695,7 @@
 
     // If the sign bit of the input is known set or clear, then we know the
     // top bits of the result.
-    APInt InSignBit(APInt::getSignedMinValue(SrcTy->getBitWidth()));
+    APInt InSignBit(APInt::getSignBit(SrcTy->getBitWidth()));
     InSignBit.zextOrTrunc(BitWidth);
     if ((KnownZero & InSignBit) != 0) {          // Input sign bit known zero
       KnownZero |= NewBits;
@@ -716,8 +716,8 @@
       Mask = APIntOps::lshr(Mask, ShiftAmt);
       ComputeMaskedBits(I->getOperand(0), Mask, KnownZero, KnownOne, Depth+1);
       assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); 
-      KnownZero = APIntOps::shl(KnownZero, ShiftAmt);
-      KnownOne  = APIntOps::shl(KnownOne, ShiftAmt);
+      KnownZero <<= ShiftAmt;
+      KnownOne  <<= ShiftAmt;
       KnownZero |= APInt(BitWidth, 1ULL).shl(ShiftAmt)-1;  // low bits known zero.
       return;
     }
@@ -730,7 +730,7 @@
       APInt HighBits(APInt::getAllOnesValue(BitWidth).shl(BitWidth-ShiftAmt));
       
       // Unsigned shift right.
-      Mask = APIntOps::shl(Mask, ShiftAmt);
+      Mask <<= ShiftAmt;
       ComputeMaskedBits(I->getOperand(0), Mask, KnownZero,KnownOne,Depth+1);
       assert((KnownZero & KnownOne) == 0&&"Bits known to be one AND zero?"); 
       KnownZero = APIntOps::lshr(KnownZero, ShiftAmt);
@@ -747,14 +747,14 @@
       APInt HighBits(APInt::getAllOnesValue(BitWidth).shl(BitWidth-ShiftAmt));
       
       // Signed shift right.
-      Mask = APIntOps::shl(Mask, ShiftAmt);
+      Mask <<= ShiftAmt;
       ComputeMaskedBits(I->getOperand(0), Mask, KnownZero,KnownOne,Depth+1);
       assert((KnownZero & KnownOne) == 0&&"Bits known to be one AND zero?"); 
       KnownZero = APIntOps::lshr(KnownZero, ShiftAmt);
       KnownOne  = APIntOps::lshr(KnownOne, ShiftAmt);
         
       // Handle the sign bits and adjust to where it is now in the mask.
-      APInt SignBit = APInt::getSignedMinValue(BitWidth).lshr(ShiftAmt);
+      APInt SignBit(APInt::getSignBit(BitWidth).lshr(ShiftAmt));
         
       if ((KnownZero & SignBit) != 0) {       // New bits are known zero.
         KnownZero |= HighBits;






More information about the llvm-commits mailing list