Lines Matching refs:Trunc
72 Value *Trunc = nullptr; in reassociateShiftAmtsOfTwoSameDirectionShifts() local
74 m_CombineOr(m_CombineAnd(m_Trunc(m_Instruction(Sh1)), m_Value(Trunc)), in reassociateShiftAmtsOfTwoSameDirectionShifts()
104 if (Trunc && !AnalyzeForSignBitExtraction && in reassociateShiftAmtsOfTwoSameDirectionShifts()
126 if (HadTwoRightShifts && (Trunc || AnalyzeForSignBitExtraction)) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
150 if (!Trunc) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
164 if (Trunc) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
166 Ret = CastInst::Create(Instruction::Trunc, NewShift, Sh0->getType()); in reassociateShiftAmtsOfTwoSameDirectionShifts()
201 Value *Trunc; in dropRedundantMaskingOfLeftShiftInput() local
202 if (match(Masked, m_CombineAnd(m_Trunc(m_Value(Masked)), m_Value(Trunc))) && in dropRedundantMaskingOfLeftShiftInput()
203 !Trunc->hasOneUse()) in dropRedundantMaskingOfLeftShiftInput()
938 TruncInst *Trunc = dyn_cast<TruncInst>(U); in foldLShrOverflowBit() local
939 if (!Trunc || Trunc->getType()->getScalarSizeInBits() > ShAmt) in foldLShrOverflowBit()
1130 Value *Trunc = Builder.CreateTrunc(NewShift, Ty, "tr.sh.diff"); in visitShl() local
1132 return BinaryOperator::CreateAnd(Trunc, ConstantInt::get(Ty, Mask)); in visitShl()
1482 Value *Trunc = Builder.CreateTrunc(SumShift, Ty, I.getName()); in visitLShr() local
1487 return BinaryOperator::CreateAnd(Trunc, ConstantInt::get(Ty, MaskC)); in visitLShr()