Lines Matching refs:BitsToClear
724 static bool canEvaluateZExtd(Value *V, Type *Ty, unsigned &BitsToClear, in canEvaluateZExtd() argument
726 BitsToClear = 0; in canEvaluateZExtd()
754 if (!canEvaluateZExtd(I->getOperand(0), Ty, BitsToClear, IC, CxtI) || in canEvaluateZExtd()
758 if (BitsToClear == 0 && Tmp == 0) in canEvaluateZExtd()
770 APInt::getHighBitsSet(VSize, BitsToClear), in canEvaluateZExtd()
782 if (!canEvaluateZExtd(I->getOperand(0), Ty, BitsToClear, IC, CxtI)) in canEvaluateZExtd()
785 BitsToClear = ShiftAmt < BitsToClear ? BitsToClear - ShiftAmt : 0; in canEvaluateZExtd()
793 if (!canEvaluateZExtd(I->getOperand(0), Ty, BitsToClear, IC, CxtI)) in canEvaluateZExtd()
795 BitsToClear += Amt->getZExtValue(); in canEvaluateZExtd()
796 if (BitsToClear > V->getType()->getScalarSizeInBits()) in canEvaluateZExtd()
797 BitsToClear = V->getType()->getScalarSizeInBits(); in canEvaluateZExtd()
804 !canEvaluateZExtd(I->getOperand(2), Ty, BitsToClear, IC, CxtI) || in canEvaluateZExtd()
807 Tmp != BitsToClear) in canEvaluateZExtd()
816 if (!canEvaluateZExtd(PN->getIncomingValue(0), Ty, BitsToClear, IC, CxtI)) in canEvaluateZExtd()
822 Tmp != BitsToClear) in canEvaluateZExtd()
854 unsigned BitsToClear; in visitZExt() local
856 canEvaluateZExtd(Src, DestTy, BitsToClear, *this, &CI)) { in visitZExt()
857 assert(BitsToClear < SrcTy->getScalarSizeInBits() && in visitZExt()
866 uint32_t SrcBitsKept = SrcTy->getScalarSizeInBits()-BitsToClear; in visitZExt()