Deleted Added
full compact
ValueTracking.cpp (194710) ValueTracking.cpp (195340)
1//===- ValueTracking.cpp - Walk computations to compute properties --------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 235 unchanged lines hidden (view full) ---

244 KnownOne.zextOrTrunc(BitWidth);
245 // Any top bits are known to be zero.
246 if (BitWidth > SrcBitWidth)
247 KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - SrcBitWidth);
248 return;
249 }
250 case Instruction::BitCast: {
251 const Type *SrcTy = I->getOperand(0)->getType();
1//===- ValueTracking.cpp - Walk computations to compute properties --------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 235 unchanged lines hidden (view full) ---

244 KnownOne.zextOrTrunc(BitWidth);
245 // Any top bits are known to be zero.
246 if (BitWidth > SrcBitWidth)
247 KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - SrcBitWidth);
248 return;
249 }
250 case Instruction::BitCast: {
251 const Type *SrcTy = I->getOperand(0)->getType();
252 if (SrcTy->isInteger() || isa<PointerType>(SrcTy)) {
252 if ((SrcTy->isInteger() || isa<PointerType>(SrcTy)) &&
253 // TODO: For now, not handling conversions like:
254 // (bitcast i64 %x to <2 x i32>)
255 !isa<VectorType>(I->getType())) {
253 ComputeMaskedBits(I->getOperand(0), Mask, KnownZero, KnownOne, TD,
254 Depth+1);
255 return;
256 }
257 break;
258 }
259 case Instruction::SExt: {
260 // Compute the bits in the result that are not present in the input.

--- 838 unchanged lines hidden ---
256 ComputeMaskedBits(I->getOperand(0), Mask, KnownZero, KnownOne, TD,
257 Depth+1);
258 return;
259 }
260 break;
261 }
262 case Instruction::SExt: {
263 // Compute the bits in the result that are not present in the input.

--- 838 unchanged lines hidden ---