| /freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineLoadStoreAlloca.cpp | 185 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 D | InstructionCombining.cpp | 198 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 D | InstCombineCasts.cpp | 30 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 D | InstCombinePHI.cpp | 43 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 D | InstCombineCompares.cpp | 109 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 D | InstCombineMulDivRem.cpp | 47 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 D | InstCombineAndOrXor.cpp | 53 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 D | InstCombineSelect.cpp | 58 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 D | InstCombineCalls.cpp | 116 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 D | InstCombineShifts.cpp | 58 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 D | InstCombineInternal.h | 60 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 D | InstCombineAtomicRMW.cpp | 103 Instruction *InstCombinerImpl::visitAtomicRMWInst(AtomicRMWInst &RMWI) { in visitAtomicRMWInst()
|
| H A D | InstCombineSimplifyDemanded.cpp | 74 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 D | InstCombineVectorOps.cpp | 100 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 D | InstCombineAddSub.cpp | 856 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 D | InstCombineNegator.cpp | 546 InstCombinerImpl &IC) { in Negate()
|