Lines Matching refs:IC

331 static bool canEvaluateTruncated(Value *V, Type *Ty, InstCombiner &IC,  in canEvaluateTruncated()  argument
361 return canEvaluateTruncated(I->getOperand(0), Ty, IC, CxtI) && in canEvaluateTruncated()
362 canEvaluateTruncated(I->getOperand(1), Ty, IC, CxtI); in canEvaluateTruncated()
371 if (IC.MaskedValueIsZero(I->getOperand(0), Mask, 0, CxtI) && in canEvaluateTruncated()
372 IC.MaskedValueIsZero(I->getOperand(1), Mask, 0, CxtI)) { in canEvaluateTruncated()
373 return canEvaluateTruncated(I->getOperand(0), Ty, IC, CxtI) && in canEvaluateTruncated()
374 canEvaluateTruncated(I->getOperand(1), Ty, IC, CxtI); in canEvaluateTruncated()
385 return canEvaluateTruncated(I->getOperand(0), Ty, IC, CxtI); in canEvaluateTruncated()
395 if (IC.MaskedValueIsZero(I->getOperand(0), in canEvaluateTruncated()
398 return canEvaluateTruncated(I->getOperand(0), Ty, IC, CxtI); in canEvaluateTruncated()
412 return canEvaluateTruncated(SI->getTrueValue(), Ty, IC, CxtI) && in canEvaluateTruncated()
413 canEvaluateTruncated(SI->getFalseValue(), Ty, IC, CxtI); in canEvaluateTruncated()
421 if (!canEvaluateTruncated(IncValue, Ty, IC, CxtI)) in canEvaluateTruncated()
439 static Instruction *foldVecTruncToExtElt(TruncInst &Trunc, InstCombiner &IC, in foldVecTruncToExtElt() argument
467 VecInput = IC.Builder->CreateBitCast(VecInput, VecType, "bc"); in foldVecTruncToExtElt()
474 return ExtractElementInst::Create(VecInput, IC.Builder->getInt32(Elt)); in foldVecTruncToExtElt()
725 InstCombiner &IC, Instruction *CxtI) { in canEvaluateZExtd() argument
754 if (!canEvaluateZExtd(I->getOperand(0), Ty, BitsToClear, IC, CxtI) || in canEvaluateZExtd()
755 !canEvaluateZExtd(I->getOperand(1), Ty, Tmp, IC, CxtI)) in canEvaluateZExtd()
769 if (IC.MaskedValueIsZero(I->getOperand(1), in canEvaluateZExtd()
782 if (!canEvaluateZExtd(I->getOperand(0), Ty, BitsToClear, IC, CxtI)) in canEvaluateZExtd()
793 if (!canEvaluateZExtd(I->getOperand(0), Ty, BitsToClear, IC, CxtI)) in canEvaluateZExtd()
803 if (!canEvaluateZExtd(I->getOperand(1), Ty, Tmp, IC, CxtI) || in canEvaluateZExtd()
804 !canEvaluateZExtd(I->getOperand(2), Ty, BitsToClear, IC, CxtI) || in canEvaluateZExtd()
816 if (!canEvaluateZExtd(PN->getIncomingValue(0), Ty, BitsToClear, IC, CxtI)) in canEvaluateZExtd()
819 if (!canEvaluateZExtd(PN->getIncomingValue(i), Ty, Tmp, IC, CxtI) || in canEvaluateZExtd()
1564 InstCombiner &IC) { in optimizeVectorResize() argument
1580 InVal = IC.Builder->CreateBitCast(InVal, SrcTy); in optimizeVectorResize()
1743 InstCombiner &IC) { in optimizeIntegerToVectorInsertions() argument
1750 IC.getDataLayout().isBigEndian())) in optimizeIntegerToVectorInsertions()
1760 Result = IC.Builder->CreateInsertElement(Result, Elements[i], in optimizeIntegerToVectorInsertions()
1761 IC.Builder->getInt32(i)); in optimizeIntegerToVectorInsertions()
1772 InstCombiner &IC, in canonicalizeBitCastExtElt() argument
1787 auto *NewBC = IC.Builder->CreateBitCast(ExtElt->getVectorOperand(), in canonicalizeBitCastExtElt()