Lines Matching refs:InnerShift
71 Instruction *InnerShift, InstCombiner &IC, in canEvaluateShiftedShift() argument
73 assert(InnerShift->isLogicalShift() && "Unexpected instruction type"); in canEvaluateShiftedShift()
77 if (!match(InnerShift->getOperand(1), m_APInt(InnerShiftConst))) in canEvaluateShiftedShift()
83 bool IsInnerShl = InnerShift->getOpcode() == Instruction::Shl; in canEvaluateShiftedShift()
99 unsigned TypeWidth = InnerShift->getType()->getScalarSizeInBits(); in canEvaluateShiftedShift()
105 if (IC.MaskedValueIsZero(InnerShift->getOperand(0), Mask, 0, CxtI)) in canEvaluateShiftedShift()
195 static Value *foldShiftedShift(BinaryOperator *InnerShift, unsigned OuterShAmt, in foldShiftedShift() argument
198 bool IsInnerShl = InnerShift->getOpcode() == Instruction::Shl; in foldShiftedShift()
199 Type *ShType = InnerShift->getType(); in foldShiftedShift()
204 match(InnerShift->getOperand(1), m_APInt(C1)); in foldShiftedShift()
209 InnerShift->setOperand(1, ConstantInt::get(ShType, ShAmt)); in foldShiftedShift()
211 InnerShift->setHasNoUnsignedWrap(false); in foldShiftedShift()
212 InnerShift->setHasNoSignedWrap(false); in foldShiftedShift()
214 InnerShift->setIsExact(false); in foldShiftedShift()
216 return InnerShift; in foldShiftedShift()
237 Value *And = Builder.CreateAnd(InnerShift->getOperand(0), in foldShiftedShift()
240 AndI->moveBefore(InnerShift); in foldShiftedShift()
241 AndI->takeName(InnerShift); in foldShiftedShift()