Revert 166726 because it may have broken a number of SPEC tests. PR14183.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166739 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/ValueTracking.cpp b/lib/Analysis/ValueTracking.cpp
index 6e4457e..1d7f069 100644
--- a/lib/Analysis/ValueTracking.cpp
+++ b/lib/Analysis/ValueTracking.cpp
@@ -437,9 +437,8 @@
     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);