Revert 166726 because it may have broken a number of SPEC tests. PR14183.
[oota-llvm.git] / lib / Analysis / ValueTracking.cpp
index 6e4457ed52d27b6d94de58895d53b64bb7cc6557..1d7f0692cbe6ee4b5b5bfa2fab09d4b1b284d1af 100644 (file)
@@ -437,9 +437,8 @@ void llvm::ComputeMaskedBits(Value *V, APInt &KnownZero, APInt &KnownOne,
     if (SrcTy->isPointerTy())
       SrcBitWidth = TD->getTypeSizeInBits(SrcTy);
     else
-      SrcBitWidth = TD->getTypeSizeInBits(SrcTy->getScalarType());
-
-    assert(SrcBitWidth && "SrcBitWidth can't be zero");
+      SrcBitWidth = SrcTy->getScalarSizeInBits();
+    
     KnownZero = KnownZero.zextOrTrunc(SrcBitWidth);
     KnownOne = KnownOne.zextOrTrunc(SrcBitWidth);
     ComputeMaskedBits(I->getOperand(0), KnownZero, KnownOne, TD, Depth+1);