| /openbsd-src/gnu/llvm/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineLoadStoreAlloca.cpp | 190 static Instruction *simplifyAllocaArraySize(InstCombinerImpl &IC, in simplifyAllocaArraySize() 262 PointerReplacer(InstCombinerImpl &IC, Instruction &Root) in PointerReplacer() 279 InstCombinerImpl ⁣ 446 Instruction *InstCombinerImpl::visitAllocaInst(AllocaInst &AI) { in visitAllocaInst() 552 LoadInst *InstCombinerImpl::combineLoadToNewType(LoadInst &LI, Type *NewTy, in combineLoadToNewType() 575 static StoreInst *combineStoreToNewValue(InstCombinerImpl &IC, StoreInst &SI, in combineStoreToNewValue() 670 static Instruction *combineLoadToOperationType(InstCombinerImpl &IC, in combineLoadToOperationType() 715 static Instruction *unpackLoadToAggregate(InstCombinerImpl &IC, LoadInst &LI) { in unpackLoadToAggregate() 907 static bool canReplaceGEPIdxWithZero(InstCombinerImpl &IC, in canReplaceGEPIdxWithZero() 983 static Instruction *replaceGEPIdxWithZero(InstCombinerImpl &IC, Value *Ptr, in replaceGEPIdxWithZero() [all …]
|
| H A D | InstCombineCasts.cpp | 87 Instruction *InstCombinerImpl::PromoteCastOfAllocation(BitCastInst &CI, in PromoteCastOfAllocation() 190 Value *InstCombinerImpl::EvaluateInDifferentType(Value *V, Type *Ty, in EvaluateInDifferentType() 265 InstCombinerImpl::isEliminableCastPair(const CastInst *CI1, in isEliminableCastPair() 293 Instruction *InstCombinerImpl::commonCastTransforms(CastInst &CI) { in commonCastTransforms() 396 static bool canEvaluateTruncated(Value *V, Type *Ty, InstCombinerImpl &IC, in canEvaluateTruncated() 530 InstCombinerImpl &IC) { in foldVecTruncToExtElt() 569 Instruction *InstCombinerImpl::narrowFunnelShift(TruncInst &Trunc) { in narrowFunnelShift() 670 Instruction *InstCombinerImpl::narrowBinOp(TruncInst &Trunc) { in narrowBinOp() 801 Instruction *InstCombinerImpl::visitTrunc(TruncInst &Trunc) { in visitTrunc() 1018 Instruction *InstCombinerImpl::transformZExtICmp(ICmpInst *Cmp, in transformZExtICmp() [all …]
|
| H A D | InstructionCombining.cpp | 206 Value *InstCombinerImpl::EmitGEPOffset(User *GEP) { in EmitGEPOffset() 215 bool InstCombinerImpl::isDesirableIntType(unsigned BitWidth) const { in isDesirableIntType() 234 bool InstCombinerImpl::shouldChangeType(unsigned FromWidth, in shouldChangeType() 262 bool InstCombinerImpl::shouldChangeType(Type *From, Type *To) const { in shouldChangeType() 331 InstCombinerImpl &IC) { in simplifyAssocCastAssoc() 371 Value *InstCombinerImpl::simplifyIntToPtrRoundTripCast(Value *Val) { in simplifyIntToPtrRoundTripCast() 409 bool InstCombinerImpl::SimplifyAssociativeOrCommutative(BinaryOperator &I) { in SimplifyAssociativeOrCommutative() 735 Value *InstCombinerImpl::tryFactorizationFolds(BinaryOperator &I) { in tryFactorizationFolds() 778 Value *InstCombinerImpl::foldUsingDistributiveLaws(BinaryOperator &I) { in foldUsingDistributiveLaws() 870 Value *InstCombinerImpl::SimplifySelectsFeedingBinaryOp(BinaryOperator &I, in SimplifySelectsFeedingBinaryOp() [all …]
|
| H A D | InstCombinePHI.cpp | 43 void InstCombinerImpl::PHIArgMergedDebugLoc(Instruction *Inst, PHINode &PN) { in PHIArgMergedDebugLoc() 106 bool InstCombinerImpl::foldIntegerTypedPHI(PHINode &PN) { in foldIntegerTypedPHI() 307 Instruction *InstCombinerImpl::foldPHIArgIntToPtrToPHI(PHINode &PN) { in foldPHIArgIntToPtrToPHI() 331 InstCombinerImpl::foldPHIArgInsertValueInstructionIntoPHI(PHINode &PN) { in foldPHIArgInsertValueInstructionIntoPHI() 371 InstCombinerImpl::foldPHIArgExtractValueInstructionIntoPHI(PHINode &PN) { in foldPHIArgExtractValueInstructionIntoPHI() 407 Instruction *InstCombinerImpl::foldPHIArgBinOpIntoPHI(PHINode &PN) { in foldPHIArgBinOpIntoPHI() 502 Instruction *InstCombinerImpl::foldPHIArgGEPIntoPHI(PHINode &PN) { in foldPHIArgGEPIntoPHI() 665 Instruction *InstCombinerImpl::foldPHIArgLoadIntoPHI(PHINode &PN) { in foldPHIArgLoadIntoPHI() 788 Instruction *InstCombinerImpl::foldPHIArgZextsIntoPHI(PHINode &Phi) { in foldPHIArgZextsIntoPHI() 862 Instruction *InstCombinerImpl::foldPHIArgOpIntoPHI(PHINode &PN) { in foldPHIArgOpIntoPHI() [all …]
|
| H A D | InstCombineCompares.cpp | 107 Instruction *InstCombinerImpl::foldCmpLoadFromIndexedGlobal( in foldCmpLoadFromIndexedGlobal() 726 Instruction *InstCombinerImpl::foldGEPICmp(GEPOperator *GEPLHS, Value *RHS, in foldGEPICmp() 900 Instruction *InstCombinerImpl::foldAllocaCmp(ICmpInst &ICI, in foldAllocaCmp() 976 Instruction *InstCombinerImpl::foldICmpAddOpConst(Value *X, const APInt &C, in foldICmpAddOpConst() 1026 Instruction *InstCombinerImpl::foldICmpShrConstConst(ICmpInst &I, Value *A, in foldICmpShrConstConst() 1085 Instruction *InstCombinerImpl::foldICmpShlConstConst(ICmpInst &I, Value *A, in foldICmpShlConstConst() 1131 InstCombinerImpl &IC) { in processUGT_ADDCST_ADD() 1216 Instruction *InstCombinerImpl::foldIRemByPowerOfTwoToBitTest(ICmpInst &I) { in foldIRemByPowerOfTwoToBitTest() 1235 Instruction *InstCombinerImpl::foldSignBitTest(ICmpInst &I) { in foldSignBitTest() 1266 Instruction *InstCombinerImpl::foldICmpWithZero(ICmpInst &Cmp) { in foldICmpWithZero() [all …]
|
| H A D | InstCombineShifts.cpp | 58 Value *InstCombinerImpl::reassociateShiftAmtsOfTwoSameDirectionShifts( in reassociateShiftAmtsOfTwoSameDirectionShifts() 370 Instruction *InstCombinerImpl::commonShiftTransforms(BinaryOperator &I) { in commonShiftTransforms() 476 InstCombinerImpl &IC, Instruction *CxtI) { in canEvaluateShiftedShift() 527 InstCombinerImpl &IC, Instruction *CxtI) { in canEvaluateShifted() 645 InstCombinerImpl &IC, const DataLayout &DL) { in getShiftedValue() 723 Instruction *InstCombinerImpl::FoldShiftByConstant(Value *Op0, Constant *C1, in FoldShiftByConstant() 853 Instruction *InstCombinerImpl::foldLShrOverflowBit(BinaryOperator &I) { in foldLShrOverflowBit() 910 Instruction *InstCombinerImpl::visitShl(BinaryOperator &I) { in visitShl() 1149 Instruction *InstCombinerImpl::visitLShr(BinaryOperator &I) { in visitLShr() 1411 InstCombinerImpl::foldVariableSignZeroExtensionOfVariableHighBitExtract( in foldVariableSignZeroExtensionOfVariableHighBitExtract() [all …]
|
| H A D | InstCombineMulDivRem.cpp | 46 static Value *simplifyValueKnownNonZero(Value *V, InstCombinerImpl &IC, in simplifyValueKnownNonZero() 188 Instruction *InstCombinerImpl::visitMul(BinaryOperator &I) { in visitMul() 488 Instruction *InstCombinerImpl::foldFPSignBitOps(BinaryOperator &I) { in foldFPSignBitOps() 521 Instruction *InstCombinerImpl::visitFMul(BinaryOperator &I) { in visitFMul() 774 bool InstCombinerImpl::simplifyDivRemOfSelectWithZeroOp(BinaryOperator &I) { in simplifyDivRemOfSelectWithZeroOp() 938 Instruction *InstCombinerImpl::commonIDivTransforms(BinaryOperator &I) { in commonIDivTransforms() 1240 Instruction *InstCombinerImpl::visitUDiv(BinaryOperator &I) { in visitUDiv() 1322 Instruction *InstCombinerImpl::visitSDiv(BinaryOperator &I) { in visitSDiv() 1455 Instruction *InstCombinerImpl::foldFDivConstantDivisor(BinaryOperator &I) { in foldFDivConstantDivisor() 1577 Instruction *InstCombinerImpl::visitFDiv(BinaryOperator &I) { in visitFDiv() [all …]
|
| H A D | InstCombineInternal.h | 61 class LLVM_LIBRARY_VISIBILITY InstCombinerImpl final 63 public InstVisitor<InstCombinerImpl, Instruction *> { 65 InstCombinerImpl(InstructionWorklist &Worklist, BuilderTy &Builder, in InstCombinerImpl() function 74 virtual ~InstCombinerImpl() = default; 705 InstCombinerImpl &IC);
|
| H A D | InstCombineCalls.cpp | 120 Instruction *InstCombinerImpl::SimplifyAnyMemTransfer(AnyMemTransferInst *MI) { in SimplifyAnyMemTransfer() 244 Instruction *InstCombinerImpl::SimplifyAnyMemSet(AnyMemSetInst *MI) { in SimplifyAnyMemSet() 321 Value *InstCombinerImpl::simplifyMaskedLoad(IntrinsicInst &II) { in simplifyMaskedLoad() 351 Instruction *InstCombinerImpl::simplifyMaskedStore(IntrinsicInst &II) { in simplifyMaskedStore() 389 Instruction *InstCombinerImpl::simplifyMaskedGather(IntrinsicInst &II) { in simplifyMaskedGather() 417 Instruction *InstCombinerImpl::simplifyMaskedScatter(IntrinsicInst &II) { in simplifyMaskedScatter() 479 InstCombinerImpl &IC) { in simplifyInvariantGroupIntrinsic() 510 static Instruction *foldCttzCtlz(IntrinsicInst &II, InstCombinerImpl &IC) { in foldCttzCtlz() 616 static Instruction *foldCtpop(IntrinsicInst &II, InstCombinerImpl &IC) { in foldCtpop() 766 removeTriviallyEmptyRange(IntrinsicInst &EndI, InstCombinerImpl &IC, in removeTriviallyEmptyRange() [all …]
|
| H A D | InstCombineAndOrXor.cpp | 90 Value *InstCombinerImpl::insertRangeTest(Value *V, const APInt &Lo, in insertRangeTest() 664 Value *InstCombinerImpl::simplifyRangeCheck(ICmpInst *Cmp0, ICmpInst *Cmp1, in simplifyRangeCheck() 717 Value *InstCombinerImpl::foldAndOrOfICmpsOfAndWithPow2(ICmpInst *LHS, in foldAndOrOfICmpsOfAndWithPow2() 1047 Value *InstCombinerImpl::foldEqOfParts(ICmpInst *Cmp0, ICmpInst *Cmp1, in foldEqOfParts() 1141 Value *InstCombinerImpl::foldAndOrOfICmpsUsingRanges(ICmpInst *ICmp1, in foldAndOrOfICmpsUsingRanges() 1249 Value *InstCombinerImpl::foldLogicOfFCmps(FCmpInst *LHS, FCmpInst *RHS, in foldLogicOfFCmps() 1325 Instruction *InstCombinerImpl::foldLogicOfIsFPClass(BinaryOperator &BO, in foldLogicOfIsFPClass() 1366 Instruction *InstCombinerImpl::canonicalizeConditionalNegationViaMathToSelect( in canonicalizeConditionalNegationViaMathToSelect() 1465 bool InstCombinerImpl::shouldOptimizeCast(CastInst *CI) { in shouldOptimizeCast() 1521 Instruction *InstCombinerImpl::foldCastedBitwiseLogic(BinaryOperator &I) { in foldCastedBitwiseLogic() [all …]
|
| H A D | InstCombineVectorOps.cpp | 100 Instruction *InstCombinerImpl::scalarizePHI(ExtractElementInst &EI, in scalarizePHI() 180 Instruction *InstCombinerImpl::foldBitcastExtElt(ExtractElementInst &Ext) { in foldBitcastExtElt() 395 Instruction *InstCombinerImpl::visitExtractElementInst(ExtractElementInst &EI) { in visitExtractElementInst() 685 InstCombinerImpl &IC) { in replaceExtractElements() 767 InstCombinerImpl &IC) { in collectShuffleElements() 851 Instruction *InstCombinerImpl::foldAggregateConstructionIntoAggregateReuse( in foldAggregateConstructionIntoAggregateReuse() 1131 Instruction *InstCombinerImpl::visitInsertValueInst(InsertValueInst &I) { in visitInsertValueInst() 1583 Instruction *InstCombinerImpl::visitInsertElementInst(InsertElementInst &IE) { in visitInsertElementInst() 2199 Instruction *InstCombinerImpl::foldSelectShuffle(ShuffleVectorInst &Shuf) { in foldSelectShuffle() 2544 InstCombinerImpl &IC) { in foldShuffleWithInsert() [all …]
|
| H A D | InstCombineAtomicRMW.cpp | 103 Instruction *InstCombinerImpl::visitAtomicRMWInst(AtomicRMWInst &RMWI) { in visitAtomicRMWInst()
|
| H A D | InstCombineSelect.cpp | 57 InstCombinerImpl &IC) { in foldSelectBinOpIdentity() 263 Instruction *InstCombinerImpl::foldSelectOpOp(SelectInst &SI, Instruction *TI, in foldSelectOpOp() 462 Instruction *InstCombinerImpl::foldSelectIntoOp(SelectInst &SI, Value *TrueVal, in foldSelectIntoOp() 756 static Instruction *foldSelectZeroOrMul(SelectInst &SI, InstCombinerImpl &IC) { in foldSelectZeroOrMul() 1135 InstCombinerImpl &IC) { in canonicalizeSPF() 1223 Instruction *InstCombinerImpl::foldSelectValueEquivalence(SelectInst &Sel, in foldSelectValueEquivalence() 1501 InstCombinerImpl &IC) { in tryToReuseConstantFromSelectInComparison() 1627 Instruction *InstCombinerImpl::foldSelectInstWithICmp(SelectInst &SI, in foldSelectInstWithICmp() 1799 Instruction *InstCombinerImpl::foldSPFofSPF(Instruction *Inner, in foldSPFofSPF() 2010 Instruction *InstCombinerImpl::foldSelectExtConst(SelectInst &Sel) { in foldSelectExtConst() [all …]
|
| H A D | InstCombineSimplifyDemanded.cpp | 55 bool InstCombinerImpl::SimplifyDemandedInstructionBits(Instruction &Inst) { in SimplifyDemandedInstructionBits() 71 bool InstCombinerImpl::SimplifyDemandedBits(Instruction *I, unsigned OpNo, in SimplifyDemandedBits() 108 Value *InstCombinerImpl::SimplifyDemandedUseBits(Value *V, APInt DemandedMask, in SimplifyDemandedUseBits() 999 Value *InstCombinerImpl::SimplifyMultipleUseDemandedBits( in SimplifyMultipleUseDemandedBits() 1160 Value *InstCombinerImpl::simplifyShrShlDemandedBits( in simplifyShrShlDemandedBits() 1235 Value *InstCombinerImpl::SimplifyDemandedVectorElts(Value *V, in SimplifyDemandedVectorElts()
|
| H A D | InstCombineAddSub.cpp | 849 Instruction *InstCombinerImpl::foldAddWithConstant(BinaryOperator &Add) { in foldAddWithConstant() 1056 Value *InstCombinerImpl::SimplifyAddWithRemainder(BinaryOperator &I) { in SimplifyAddWithRemainder() 1161 Instruction *InstCombinerImpl:: 1338 Instruction *InstCombinerImpl::visitAdd(BinaryOperator &I) { in visitAdd() 1643 Instruction *InstCombinerImpl::visitFAdd(BinaryOperator &I) { in visitFAdd() 1795 Value *InstCombinerImpl::OptimizePointerDifference(Value *LHS, Value *RHS, in OptimizePointerDifference() 1917 Instruction *InstCombinerImpl::visitSub(BinaryOperator &I) { in visitSub() 2455 Instruction *InstCombinerImpl::visitFNeg(UnaryOperator &I) { in visitFNeg() 2531 Instruction *InstCombinerImpl::visitFSub(BinaryOperator &I) { in visitFSub()
|
| H A D | InstCombineNegator.cpp | 529 InstCombinerImpl &IC) { in Negate()
|