Home
last modified time | relevance | path

Searched refs:InstCombinerImpl (Results 1 – 16 of 16) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineLoadStoreAlloca.cpp185 static Instruction *simplifyAllocaArraySize(InstCombinerImpl &IC, in simplifyAllocaArraySize()
239 PointerReplacer(InstCombinerImpl &IC, Instruction &Root, unsigned SrcAS) in PointerReplacer()
263 InstCombinerImpl ⁣
476 Instruction *InstCombinerImpl::visitAllocaInst(AllocaInst &AI) { in visitAllocaInst()
577 LoadInst *InstCombinerImpl::combineLoadToNewType(LoadInst &LI, Type *NewTy, in combineLoadToNewType()
593 static StoreInst *combineStoreToNewValue(InstCombinerImpl &IC, StoreInst &SI, in combineStoreToNewValue()
663 static Instruction *combineLoadToOperationType(InstCombinerImpl &IC, in combineLoadToOperationType()
708 static Instruction *unpackLoadToAggregate(InstCombinerImpl &IC, LoadInst &LI) { in unpackLoadToAggregate()
898 static bool canReplaceGEPIdxWithZero(InstCombinerImpl &IC, in canReplaceGEPIdxWithZero()
973 static Instruction *replaceGEPIdxWithZero(InstCombinerImpl &IC, Value *Ptr, in replaceGEPIdxWithZero()
[all …]
H A DInstructionCombining.cpp198 Value *InstCombinerImpl::EmitGEPOffset(GEPOperator *GEP, bool RewriteGEP) { in EmitGEPOffset()
219 Value *InstCombinerImpl::EmitGEPOffsets(ArrayRef<GEPOperator *> GEPs, in EmitGEPOffsets()
244 bool InstCombinerImpl::isDesirableIntType(unsigned BitWidth) const { in isDesirableIntType()
263 bool InstCombinerImpl::shouldChangeType(unsigned FromWidth, in shouldChangeType()
291 bool InstCombinerImpl::shouldChangeType(Type *From, Type *To) const { in shouldChangeType()
365 InstCombinerImpl &IC) { in simplifyAssocCastAssoc()
413 Value *InstCombinerImpl::simplifyIntToPtrRoundTripCast(Value *Val) { in simplifyIntToPtrRoundTripCast()
449 bool InstCombinerImpl::SimplifyAssociativeOrCommutative(BinaryOperator &I) { in SimplifyAssociativeOrCommutative()
800 Instruction *InstCombinerImpl::tryFoldInstWithCtpopWithNot(Instruction *I) { in tryFoldInstWithCtpopWithNot()
905 Instruction *InstCombinerImpl::foldBinOpShiftWithShift(BinaryOperator &I) { in foldBinOpShiftWithShift()
[all …]
H A DInstCombineCasts.cpp30 Value *InstCombinerImpl::EvaluateInDifferentType(Value *V, Type *Ty, in EvaluateInDifferentType()
128 InstCombinerImpl::isEliminableCastPair(const CastInst *CI1, in isEliminableCastPair()
156 Instruction *InstCombinerImpl::commonCastTransforms(CastInst &CI) { in commonCastTransforms()
269 static bool canEvaluateTruncated(Value *V, Type *Ty, InstCombinerImpl &IC, in canEvaluateTruncated()
412 InstCombinerImpl &IC) { in foldVecTruncToExtElt()
462 InstCombinerImpl &IC) { in foldVecExtTruncToExtElt()
516 Instruction *InstCombinerImpl::narrowFunnelShift(TruncInst &Trunc) { in narrowFunnelShift()
620 Instruction *InstCombinerImpl::narrowBinOp(TruncInst &Trunc) { in narrowBinOp()
753 Instruction *InstCombinerImpl::visitTrunc(TruncInst &Trunc) { in visitTrunc()
971 Instruction *InstCombinerImpl::transformZExtICmp(ICmpInst *Cmp, in transformZExtICmp()
[all …]
H A DInstCombinePHI.cpp43 void InstCombinerImpl::PHIArgMergedDebugLoc(Instruction *Inst, PHINode &PN) { in PHIArgMergedDebugLoc()
59 bool InstCombinerImpl::foldDeadPhiWeb(PHINode &PN) { in foldDeadPhiWeb()
134 bool InstCombinerImpl::foldIntegerTypedPHI(PHINode &PN) { in foldIntegerTypedPHI()
339 Instruction *InstCombinerImpl::foldPHIArgIntToPtrToPHI(PHINode &PN) { in foldPHIArgIntToPtrToPHI()
363 InstCombinerImpl::foldPHIArgInsertValueInstructionIntoPHI(PHINode &PN) { in foldPHIArgInsertValueInstructionIntoPHI()
403 InstCombinerImpl::foldPHIArgExtractValueInstructionIntoPHI(PHINode &PN) { in foldPHIArgExtractValueInstructionIntoPHI()
439 Instruction *InstCombinerImpl::foldPHIArgBinOpIntoPHI(PHINode &PN) { in foldPHIArgBinOpIntoPHI()
534 Instruction *InstCombinerImpl::foldPHIArgGEPIntoPHI(PHINode &PN) { in foldPHIArgGEPIntoPHI()
697 Instruction *InstCombinerImpl::foldPHIArgLoadIntoPHI(PHINode &PN) { in foldPHIArgLoadIntoPHI()
805 Instruction *InstCombinerImpl::foldPHIArgZextsIntoPHI(PHINode &Phi) { in foldPHIArgZextsIntoPHI()
[all …]
H A DInstCombineCompares.cpp109 Instruction *InstCombinerImpl::foldCmpLoadFromIndexedGlobal( in foldCmpLoadFromIndexedGlobal()
676 Instruction *InstCombinerImpl::foldGEPICmp(GEPOperator *GEPLHS, Value *RHS, in foldGEPICmp()
862 bool InstCombinerImpl::foldAllocaCmp(AllocaInst *Alloca) { in foldAllocaCmp()
940 Instruction *InstCombinerImpl::foldICmpAddOpConst(Value *X, const APInt &C, in foldICmpAddOpConst()
990 Instruction *InstCombinerImpl::foldICmpShrConstConst(ICmpInst &I, Value *A, in foldICmpShrConstConst()
1049 Instruction *InstCombinerImpl::foldICmpShlConstConst(ICmpInst &I, Value *A, in foldICmpShlConstConst()
1095 InstCombinerImpl &IC) { in processUGT_ADDCST_ADD()
1180 Instruction *InstCombinerImpl::foldIRemByPowerOfTwoToBitTest(ICmpInst &I) { in foldIRemByPowerOfTwoToBitTest()
1199 Instruction *InstCombinerImpl::foldSignBitTest(ICmpInst &I) { in foldSignBitTest()
1230 Instruction *InstCombinerImpl::foldICmpWithZero(ICmpInst &Cmp) { in foldICmpWithZero()
[all …]
H A DInstCombineMulDivRem.cpp47 static Value *simplifyValueKnownNonZero(Value *V, InstCombinerImpl &IC, in simplifyValueKnownNonZero()
189 Instruction *InstCombinerImpl::visitMul(BinaryOperator &I) { in visitMul()
586 Instruction *InstCombinerImpl::foldFPSignBitOps(BinaryOperator &I) { in foldFPSignBitOps()
617 Instruction *InstCombinerImpl::foldPowiReassoc(BinaryOperator &I) { in foldPowiReassoc()
618 auto createPowiExpr = [](BinaryOperator &I, InstCombinerImpl &IC, Value *X, in foldPowiReassoc()
776 Instruction *InstCombinerImpl::foldFMulReassoc(BinaryOperator &I) { in foldFMulReassoc()
953 Instruction *InstCombinerImpl::visitFMul(BinaryOperator &I) { in visitFMul()
1093 bool InstCombinerImpl::simplifyDivRemOfSelectWithZeroOp(BinaryOperator &I) { in simplifyDivRemOfSelectWithZeroOp()
1270 Instruction *InstCombinerImpl::commonIDivRemTransforms(BinaryOperator &I) { in commonIDivRemTransforms()
1317 Instruction *InstCombinerImpl::commonIDivTransforms(BinaryOperator &I) { in commonIDivTransforms()
[all …]
H A DInstCombineAndOrXor.cpp53 Value *InstCombinerImpl::insertRangeTest(Value *V, const APInt &Lo, in insertRangeTest()
717 Value *InstCombinerImpl::simplifyRangeCheck(ICmpInst *Cmp0, ICmpInst *Cmp1, in simplifyRangeCheck()
938 InstCombinerImpl &IC) { in foldIsPowerOf2OrZero()
968 InstCombinerImpl &IC) { in foldIsPowerOf2()
1183 Value *InstCombinerImpl::foldEqOfParts(Value *Cmp0, Value *Cmp1, bool IsAnd) { in foldEqOfParts()
1317 Value *InstCombinerImpl::foldAndOrOfICmpsUsingRanges(ICmpInst *ICmp1, in foldAndOrOfICmpsUsingRanges()
1421 Value *InstCombinerImpl::foldLogicOfFCmps(FCmpInst *LHS, FCmpInst *RHS, in foldLogicOfFCmps()
1571 Instruction *InstCombinerImpl::foldLogicOfIsFPClass(BinaryOperator &BO, in foldLogicOfIsFPClass()
1637 Instruction *InstCombinerImpl::canonicalizeConditionalNegationViaMathToSelect( in canonicalizeConditionalNegationViaMathToSelect()
1732 bool InstCombinerImpl::shouldOptimizeCast(CastInst *CI) { in shouldOptimizeCast()
[all …]
H A DInstCombineSelect.cpp58 InstCombinerImpl &IC) { in foldSelectBinOpIdentity()
244 Instruction *InstCombinerImpl::foldSelectOpOp(SelectInst &SI, Instruction *TI, in foldSelectOpOp()
495 Instruction *InstCombinerImpl::foldSelectIntoOp(SelectInst &SI, Value *TrueVal, in foldSelectIntoOp()
881 static Instruction *foldSelectZeroOrMul(SelectInst &SI, InstCombinerImpl &IC) { in foldSelectZeroOrMul()
1190 InstCombinerImpl &IC) { in foldSelectCttzCtlz()
1255 InstCombinerImpl &IC) { in canonicalizeSPF()
1289 bool InstCombinerImpl::replaceInInstruction(Value *V, Value *Old, Value *New, in replaceInInstruction()
1335 Instruction *InstCombinerImpl::foldSelectValueEquivalence(SelectInst &Sel, in foldSelectValueEquivalence()
1443 Instruction *InstCombinerImpl::foldSelectEqualityTest(SelectInst &Sel) { in foldSelectEqualityTest()
1664 InstCombinerImpl &IC) { in tryToReuseConstantFromSelectInComparison()
[all …]
H A DInstCombineCalls.cpp116 Instruction *InstCombinerImpl::SimplifyAnyMemTransfer(AnyMemTransferInst *MI) { in SimplifyAnyMemTransfer()
218 Instruction *InstCombinerImpl::SimplifyAnyMemSet(AnyMemSetInst *MI) { in SimplifyAnyMemSet()
291 Value *InstCombinerImpl::simplifyMaskedLoad(IntrinsicInst &II) { in simplifyMaskedLoad()
321 Instruction *InstCombinerImpl::simplifyMaskedStore(IntrinsicInst &II) { in simplifyMaskedStore()
359 Instruction *InstCombinerImpl::simplifyMaskedGather(IntrinsicInst &II) { in simplifyMaskedGather()
387 Instruction *InstCombinerImpl::simplifyMaskedScatter(IntrinsicInst &II) { in simplifyMaskedScatter()
450 InstCombinerImpl &IC) { in simplifyInvariantGroupIntrinsic()
479 static Instruction *foldCttzCtlz(IntrinsicInst &II, InstCombinerImpl &IC) { in foldCttzCtlz()
643 static Instruction *foldCtpop(IntrinsicInst &II, InstCombinerImpl &IC) { in foldCtpop()
791 removeTriviallyEmptyRange(IntrinsicInst &EndI, InstCombinerImpl &IC, in removeTriviallyEmptyRange()
[all …]
H A DInstCombineShifts.cpp58 Value *InstCombinerImpl::reassociateShiftAmtsOfTwoSameDirectionShifts( in reassociateShiftAmtsOfTwoSameDirectionShifts()
405 Instruction *InstCombinerImpl::commonShiftTransforms(BinaryOperator &I) { in commonShiftTransforms()
537 InstCombinerImpl &IC, Instruction *CxtI) { in canEvaluateShiftedShift()
588 InstCombinerImpl &IC, Instruction *CxtI) { in canEvaluateShifted()
705 InstCombinerImpl &IC, const DataLayout &DL) { in getShiftedValue()
783 Instruction *InstCombinerImpl::FoldShiftByConstant(Value *Op0, Constant *C1, in FoldShiftByConstant()
922 Instruction *InstCombinerImpl::foldLShrOverflowBit(BinaryOperator &I) { in foldLShrOverflowBit()
1041 Instruction *InstCombinerImpl::visitShl(BinaryOperator &I) { in visitShl()
1278 Instruction *InstCombinerImpl::visitLShr(BinaryOperator &I) { in visitLShr()
1642 InstCombinerImpl::foldVariableSignZeroExtensionOfVariableHighBitExtract( in foldVariableSignZeroExtensionOfVariableHighBitExtract()
[all …]
H A DInstCombineInternal.h60 class LLVM_LIBRARY_VISIBILITY InstCombinerImpl final
62 public InstVisitor<InstCombinerImpl, Instruction *> {
64 InstCombinerImpl(InstructionWorklist &Worklist, BuilderTy &Builder, in InstCombinerImpl() function
74 virtual ~InstCombinerImpl() = default;
887 InstCombinerImpl &IC);
H A DInstCombineAtomicRMW.cpp103 Instruction *InstCombinerImpl::visitAtomicRMWInst(AtomicRMWInst &RMWI) { in visitAtomicRMWInst()
H A DInstCombineSimplifyDemanded.cpp74 bool InstCombinerImpl::SimplifyDemandedInstructionBits(Instruction &Inst, in SimplifyDemandedInstructionBits()
87 bool InstCombinerImpl::SimplifyDemandedInstructionBits(Instruction &Inst) { in SimplifyDemandedInstructionBits()
95 bool InstCombinerImpl::SimplifyDemandedBits(Instruction *I, unsigned OpNo, in SimplifyDemandedBits()
164 Value *InstCombinerImpl::SimplifyDemandedUseBits(Instruction *I, in SimplifyDemandedUseBits()
1146 Value *InstCombinerImpl::SimplifyMultipleUseDemandedBits( in SimplifyMultipleUseDemandedBits()
1322 Value *InstCombinerImpl::simplifyShrShlDemandedBits( in simplifyShrShlDemandedBits()
1397 Value *InstCombinerImpl::SimplifyDemandedVectorElts(Value *V, in SimplifyDemandedVectorElts()
1968 Value *InstCombinerImpl::SimplifyDemandedUseFPClass(Value *V, in SimplifyDemandedUseFPClass()
2076 bool InstCombinerImpl::SimplifyDemandedFPClass(Instruction *I, unsigned OpNo, in SimplifyDemandedFPClass()
H A DInstCombineVectorOps.cpp100 Instruction *InstCombinerImpl::scalarizePHI(ExtractElementInst &EI, in scalarizePHI()
183 Instruction *InstCombinerImpl::foldBitcastExtElt(ExtractElementInst &Ext) { in foldBitcastExtElt()
398 Instruction *InstCombinerImpl::visitExtractElementInst(ExtractElementInst &EI) { in visitExtractElementInst()
708 InstCombinerImpl &IC) { in replaceExtractElements()
795 InstCombinerImpl &IC, bool &Rerun) { in collectShuffleElements()
880 Instruction *InstCombinerImpl::foldAggregateConstructionIntoAggregateReuse( in foldAggregateConstructionIntoAggregateReuse()
1226 Instruction *InstCombinerImpl::visitInsertValueInst(InsertValueInst &I) { in visitInsertValueInst()
1684 Instruction *InstCombinerImpl::visitInsertElementInst(InsertElementInst &IE) { in visitInsertElementInst()
2325 Instruction *InstCombinerImpl::foldSelectShuffle(ShuffleVectorInst &Shuf) { in foldSelectShuffle()
2687 InstCombinerImpl &IC) { in foldShuffleWithInsert()
[all …]
H A DInstCombineAddSub.cpp856 Instruction *InstCombinerImpl::foldAddWithConstant(BinaryOperator &Add) { in foldAddWithConstant()
1058 Instruction *InstCombinerImpl::foldSquareSumInt(BinaryOperator &I) { in foldSquareSumInt()
1069 Instruction *InstCombinerImpl::foldSquareSumFP(BinaryOperator &I) { in foldSquareSumFP()
1156 Value *InstCombinerImpl::SimplifyAddWithRemainder(BinaryOperator &I) { in SimplifyAddWithRemainder()
1316 Instruction *InstCombinerImpl::foldAddLikeCommutative(Value *LHS, Value *RHS, in foldAddLikeCommutative()
1346 Instruction *InstCombinerImpl::
1521 Instruction *InstCombinerImpl::visitAdd(BinaryOperator &I) { in visitAdd()
1988 Instruction *InstCombinerImpl::visitFAdd(BinaryOperator &I) { in visitFAdd()
2152 Value *InstCombinerImpl::OptimizePointerDifference(Value *LHS, Value *RHS, in OptimizePointerDifference()
2238 Instruction *InstCombinerImpl::visitSub(BinaryOperator &I) { in visitSub()
[all …]
H A DInstCombineNegator.cpp546 InstCombinerImpl &IC) { in Negate()