Lines Matching refs:IC
261 static bool canEvaluateTruncated(Value *V, Type *Ty, InstCombinerImpl &IC, in canEvaluateTruncated() argument
278 return canEvaluateTruncated(I->getOperand(0), Ty, IC, CxtI) && in canEvaluateTruncated()
279 canEvaluateTruncated(I->getOperand(1), Ty, IC, CxtI); in canEvaluateTruncated()
288 if (IC.MaskedValueIsZero(I->getOperand(0), Mask, 0, CxtI) && in canEvaluateTruncated()
289 IC.MaskedValueIsZero(I->getOperand(1), Mask, 0, CxtI)) { in canEvaluateTruncated()
290 return canEvaluateTruncated(I->getOperand(0), Ty, IC, CxtI) && in canEvaluateTruncated()
291 canEvaluateTruncated(I->getOperand(1), Ty, IC, CxtI); in canEvaluateTruncated()
300 llvm::computeKnownBits(I->getOperand(1), IC.getDataLayout()); in canEvaluateTruncated()
302 return canEvaluateTruncated(I->getOperand(0), Ty, IC, CxtI) && in canEvaluateTruncated()
303 canEvaluateTruncated(I->getOperand(1), Ty, IC, CxtI); in canEvaluateTruncated()
315 llvm::computeKnownBits(I->getOperand(1), IC.getDataLayout()); in canEvaluateTruncated()
318 IC.MaskedValueIsZero(I->getOperand(0), ShiftedBits, 0, CxtI)) { in canEvaluateTruncated()
319 return canEvaluateTruncated(I->getOperand(0), Ty, IC, CxtI) && in canEvaluateTruncated()
320 canEvaluateTruncated(I->getOperand(1), Ty, IC, CxtI); in canEvaluateTruncated()
333 llvm::computeKnownBits(I->getOperand(1), IC.getDataLayout()); in canEvaluateTruncated()
336 ShiftedBits < IC.ComputeNumSignBits(I->getOperand(0), 0, CxtI)) in canEvaluateTruncated()
337 return canEvaluateTruncated(I->getOperand(0), Ty, IC, CxtI) && in canEvaluateTruncated()
338 canEvaluateTruncated(I->getOperand(1), Ty, IC, CxtI); in canEvaluateTruncated()
351 return canEvaluateTruncated(SI->getTrueValue(), Ty, IC, CxtI) && in canEvaluateTruncated()
352 canEvaluateTruncated(SI->getFalseValue(), Ty, IC, CxtI); in canEvaluateTruncated()
360 if (!canEvaluateTruncated(IncValue, Ty, IC, CxtI)) in canEvaluateTruncated()
377 return canEvaluateTruncated(I->getOperand(0), Ty, IC, CxtI) && in canEvaluateTruncated()
378 canEvaluateTruncated(I->getOperand(1), Ty, IC, CxtI); in canEvaluateTruncated()
394 InstCombinerImpl &IC) { in foldVecTruncToExtElt() argument
421 VecInput = IC.Builder.CreateBitCast(VecInput, VecType, "bc"); in foldVecTruncToExtElt()
425 if (IC.getDataLayout().isBigEndian()) in foldVecTruncToExtElt()
428 return ExtractElementInst::Create(VecInput, IC.Builder.getInt32(Elt)); in foldVecTruncToExtElt()
992 InstCombinerImpl &IC, Instruction *CxtI) { in canEvaluateZExtd() argument
1012 if (!canEvaluateZExtd(I->getOperand(0), Ty, BitsToClear, IC, CxtI) || in canEvaluateZExtd()
1013 !canEvaluateZExtd(I->getOperand(1), Ty, Tmp, IC, CxtI)) in canEvaluateZExtd()
1025 if (IC.MaskedValueIsZero(I->getOperand(1), in canEvaluateZExtd()
1044 if (!canEvaluateZExtd(I->getOperand(0), Ty, BitsToClear, IC, CxtI)) in canEvaluateZExtd()
1057 if (!canEvaluateZExtd(I->getOperand(0), Ty, BitsToClear, IC, CxtI)) in canEvaluateZExtd()
1068 if (!canEvaluateZExtd(I->getOperand(1), Ty, Tmp, IC, CxtI) || in canEvaluateZExtd()
1069 !canEvaluateZExtd(I->getOperand(2), Ty, BitsToClear, IC, CxtI) || in canEvaluateZExtd()
1081 if (!canEvaluateZExtd(PN->getIncomingValue(0), Ty, BitsToClear, IC, CxtI)) in canEvaluateZExtd()
1084 if (!canEvaluateZExtd(PN->getIncomingValue(i), Ty, Tmp, IC, CxtI) || in canEvaluateZExtd()
1622 static bool isKnownExactCastIntToFP(CastInst &I, InstCombinerImpl &IC) { in isKnownExactCastIntToFP() argument
1659 KnownBits SrcKnown = IC.computeKnownBits(Src, 0, &I); in isKnownExactCastIntToFP()
2023 InstCombinerImpl &IC) { in optimizeVectorResizeWithIntegerBitCasts() argument
2041 InVal = IC.Builder.CreateBitCast(InVal, SrcTy); in optimizeVectorResizeWithIntegerBitCasts()
2044 bool IsBigEndian = IC.getDataLayout().isBigEndian(); in optimizeVectorResizeWithIntegerBitCasts()
2225 InstCombinerImpl &IC) { in optimizeIntegerToVectorInsertions() argument
2232 IC.getDataLayout().isBigEndian())) in optimizeIntegerToVectorInsertions()
2242 Result = IC.Builder.CreateInsertElement(Result, Elements[i], in optimizeIntegerToVectorInsertions()
2243 IC.Builder.getInt32(i)); in optimizeIntegerToVectorInsertions()
2254 InstCombinerImpl &IC) { in canonicalizeBitCastExtElt() argument
2266 auto *NewBC = IC.Builder.CreateBitCast(VecOp, NewVecType, "bc"); in canonicalizeBitCastExtElt()