/external/llvm/lib/Transforms/InstCombine/ |
D | InstCombineCasts.cpp | 81 Instruction *InstCombiner::PromoteCastOfAllocation(BitCastInst &CI, in PromoteCastOfAllocation() 159 Value *InstCombiner::EvaluateInDifferentType(Value *V, Type *Ty, in EvaluateInDifferentType() 267 bool InstCombiner::ShouldOptimizeCast(Instruction::CastOps opc, const Value *V, in ShouldOptimizeCast() 288 Instruction *InstCombiner::commonCastTransforms(CastInst &CI) { in commonCastTransforms() 331 static bool canEvaluateTruncated(Value *V, Type *Ty, InstCombiner &IC, in canEvaluateTruncated() 439 static Instruction *foldVecTruncToExtElt(TruncInst &Trunc, InstCombiner &IC, in foldVecTruncToExtElt() 477 Instruction *InstCombiner::visitTrunc(TruncInst &CI) { in visitTrunc() 583 Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, Instruction &CI, in transformZExtICmp() 725 InstCombiner &IC, Instruction *CxtI) { in canEvaluateZExtd() 832 Instruction *InstCombiner::visitZExt(ZExtInst &CI) { in visitZExt() [all …]
|
D | InstCombineLoadStoreAlloca.cpp | 168 static Instruction *simplifyAllocaArraySize(InstCombiner &IC, AllocaInst &AI) { in simplifyAllocaArraySize() 224 Instruction *InstCombiner::visitAllocaInst(AllocaInst &AI) { in visitAllocaInst() 318 static LoadInst *combineLoadToNewType(InstCombiner &IC, LoadInst &LI, Type *NewTy, in combineLoadToNewType() 391 static StoreInst *combineStoreToNewValue(InstCombiner &IC, StoreInst &SI, Value *V) { in combineStoreToNewValue() 456 static Instruction *combineLoadToOperationType(InstCombiner &IC, LoadInst &LI) { in combineLoadToOperationType() 514 static Instruction *unpackLoadToAggregate(InstCombiner &IC, LoadInst &LI) { in unpackLoadToAggregate() 665 static bool canReplaceGEPIdxWithZero(InstCombiner &IC, GetElementPtrInst *GEPI, in canReplaceGEPIdxWithZero() 739 static Instruction *replaceGEPIdxWithZero(InstCombiner &IC, Value *Ptr, in replaceGEPIdxWithZero() 756 Instruction *InstCombiner::visitLoadInst(LoadInst &LI) { in visitLoadInst() 902 static bool combineStoreToValueType(InstCombiner &IC, StoreInst &SI) { in combineStoreToValueType() [all …]
|
D | InstCombineMulDivRem.cpp | 28 static Value *simplifyValueKnownNonZero(Value *V, InstCombiner &IC, in simplifyValueKnownNonZero() 135 bool InstCombiner::WillNotOverflowSignedMul(Value *LHS, Value *RHS, in WillNotOverflowSignedMul() 175 Instruction *InstCombiner::visitMul(BinaryOperator &I) { in visitMul() 486 Value *InstCombiner::foldFMulConst(Instruction *FMulOrDiv, Constant *C, in foldFMulConst() 534 Instruction *InstCombiner::visitFMul(BinaryOperator &I) { in visitFMul() 716 bool InstCombiner::SimplifyDivRemOfSelect(BinaryOperator &I) { in SimplifyDivRemOfSelect() 789 Instruction *InstCombiner::commonIDivTransforms(BinaryOperator &I) { in commonIDivTransforms() 935 InstCombiner &IC); 961 const BinaryOperator &I, InstCombiner &IC) { in foldUDivPow2Cst() 972 const BinaryOperator &I, InstCombiner &IC) { in foldUDivNegCst() [all …]
|
D | InstructionCombining.cpp | 79 Value *InstCombiner::EmitGEPOffset(User *GEP) { in EmitGEPOffset() 87 bool InstCombiner::ShouldChangeType(unsigned FromWidth, in ShouldChangeType() 108 bool InstCombiner::ShouldChangeType(Type *From, Type *To) const { in ShouldChangeType() 189 bool InstCombiner::SimplifyAssociativeOrCommutative(BinaryOperator &I) { in SimplifyAssociativeOrCommutative() 454 static Value *tryFactorization(InstCombiner::BuilderTy *Builder, in tryFactorization() 554 Value *InstCombiner::SimplifyUsingDistributiveLaws(BinaryOperator &I) { in SimplifyUsingDistributiveLaws() 667 Value *InstCombiner::dyn_castNegVal(Value *V) const { in dyn_castNegVal() 684 Value *InstCombiner::dyn_castFNegVal(Value *V, bool IgnoreZeroSign) const { in dyn_castFNegVal() 700 InstCombiner *IC) { in FoldOperationIntoSelectOperand() 740 Instruction *InstCombiner::FoldOpIntoSelect(Instruction &Op, SelectInst *SI) { in FoldOpIntoSelect() [all …]
|
D | InstCombineShifts.cpp | 24 Instruction *InstCombiner::commonShiftTransforms(BinaryOperator &I) { in commonShiftTransforms() 71 InstCombiner &IC, Instruction *CxtI) { in CanEvaluateShifted() 190 InstCombiner &IC, const DataLayout &DL) { in GetShiftedValue() 321 Instruction *InstCombiner::FoldShiftByConstant(Value *Op0, Constant *Op1, in FoldShiftByConstant() 695 Instruction *InstCombiner::visitShl(BinaryOperator &I) { in visitShl() 737 Instruction *InstCombiner::visitLShr(BinaryOperator &I) { in visitLShr() 781 Instruction *InstCombiner::visitAShr(BinaryOperator &I) { in visitAShr()
|
D | InstCombinePHI.cpp | 25 Instruction *InstCombiner::FoldPHIArgBinOpIntoPHI(PHINode &PN) { in FoldPHIArgBinOpIntoPHI() 131 Instruction *InstCombiner::FoldPHIArgGEPIntoPHI(PHINode &PN) { in FoldPHIArgGEPIntoPHI() 286 Instruction *InstCombiner::FoldPHIArgLoadIntoPHI(PHINode &PN) { in FoldPHIArgLoadIntoPHI() 403 Instruction *InstCombiner::FoldPHIArgZextsIntoPHI(PHINode &Phi) { in FoldPHIArgZextsIntoPHI() 477 Instruction *InstCombiner::FoldPHIArgOpIntoPHI(PHINode &PN) { in FoldPHIArgOpIntoPHI() 708 Instruction *InstCombiner::SliceUpIllegalIntegerPHI(PHINode &FirstPhi) { in SliceUpIllegalIntegerPHI() 880 Instruction *InstCombiner::visitPHINode(PHINode &PN) { in visitPHINode()
|
D | InstCombineSelect.cpp | 62 static Value *generateMinMaxSelectPattern(InstCombiner::BuilderTy *Builder, in generateMinMaxSelectPattern() 121 Instruction *InstCombiner::FoldSelectOpOp(SelectInst &SI, Instruction *TI, in FoldSelectOpOp() 208 Instruction *InstCombiner::FoldSelectIntoOp(SelectInst &SI, Value *TrueVal, in FoldSelectIntoOp() 300 InstCombiner::BuilderTy *Builder) { in foldSelectICmpAndOr() 360 InstCombiner::BuilderTy *Builder) { in foldSelectCttzCtlz() 404 Instruction *InstCombiner::visitSelectInstWithICmp(SelectInst &SI, in visitSelectInstWithICmp() 640 Instruction *InstCombiner::FoldSPFofSPF(Instruction *Inner, in FoldSPFofSPF() 757 InstCombiner::BuilderTy *Builder) { in foldSelectICmpAnd() 826 Instruction *InstCombiner::visitSelectInst(SelectInst &SI) { in visitSelectInst()
|
D | InstCombineAddSub.cpp | 160 FAddCombine(InstCombiner::BuilderTy *B) : Builder(B), Instr(nullptr) {} in FAddCombine() 183 InstCombiner::BuilderTy *Builder; 893 bool InstCombiner::WillNotOverflowSignedAdd(Value *LHS, Value *RHS, in WillNotOverflowSignedAdd() 945 bool InstCombiner::WillNotOverflowSignedSub(Value *LHS, Value *RHS, in WillNotOverflowSignedSub() 974 bool InstCombiner::WillNotOverflowUnsignedSub(Value *LHS, Value *RHS, in WillNotOverflowUnsignedSub() 995 InstCombiner::BuilderTy *Builder) { in checkForNegativeOperand() 1050 Instruction *InstCombiner::visitAdd(BinaryOperator &I) { in visitAdd() 1315 Instruction *InstCombiner::visitFAdd(BinaryOperator &I) { in visitFAdd() 1428 Value *InstCombiner::OptimizePointerDifference(Value *LHS, Value *RHS, in OptimizePointerDifference() 1492 Instruction *InstCombiner::visitSub(BinaryOperator &I) { in visitSub() [all …]
|
D | InstCombineCalls.cpp | 63 Instruction *InstCombiner::SimplifyMemTransfer(MemIntrinsic *MI) { in SimplifyMemTransfer() 157 Instruction *InstCombiner::SimplifyMemSet(MemSetInst *MI) { in SimplifyMemSet() 201 InstCombiner::BuilderTy &Builder) { in SimplifyX86immshift() 311 InstCombiner::BuilderTy &Builder, in SimplifyX86extend() 329 InstCombiner::BuilderTy &Builder) { in SimplifyX86insertps() 388 InstCombiner::BuilderTy &Builder) { in SimplifyX86extrq() 481 InstCombiner::BuilderTy &Builder) { in SimplifyX86insertq() 578 InstCombiner::BuilderTy &Builder) { in SimplifyX86vperm2() 641 InstCombiner::BuilderTy &Builder, bool IsSigned) { in SimplifyX86vpcom() 680 Instruction *InstCombiner::visitCallInst(CallInst &CI) { in visitCallInst() [all …]
|
D | InstCombineAndOrXor.cpp | 72 InstCombiner::BuilderTy *Builder) { in getNewICmpValue() 84 InstCombiner::BuilderTy *Builder) { in getFCmpValue() 107 Value *InstCombiner::SimplifyBSwap(BinaryOperator &I) { in SimplifyBSwap() 160 Instruction *InstCombiner::OptAndOp(Instruction *Op, in OptAndOp() 300 Value *InstCombiner::InsertRangeTest(Value *V, Constant *Lo, Constant *Hi, in InsertRangeTest() 368 Value *InstCombiner::FoldLogicalPlusAnd(Value *LHS, Value *RHS, in FoldLogicalPlusAnd() 704 llvm::InstCombiner::BuilderTy *Builder) { in foldLogOpOfMaskedICmps() 827 Value *InstCombiner::simplifyRangeCheck(ICmpInst *Cmp0, ICmpInst *Cmp1, in simplifyRangeCheck() 880 Value *InstCombiner::FoldAndOfICmps(ICmpInst *LHS, ICmpInst *RHS) { in FoldAndOfICmps() 1125 Value *InstCombiner::FoldAndOfFCmps(FCmpInst *LHS, FCmpInst *RHS) { in FoldAndOfFCmps() [all …]
|
D | InstCombineVectorOps.cpp | 68 Instruction *InstCombiner::scalarizePHI(ExtractElementInst &EI, PHINode *PN) { in scalarizePHI() 131 Instruction *InstCombiner::visitExtractElementInst(ExtractElementInst &EI) { in visitExtractElementInst() 452 Instruction *InstCombiner::visitInsertValueInst(InsertValueInst &I) { in visitInsertValueInst() 480 Instruction *InstCombiner::visitInsertElementInst(InsertElementInst &IE) { in visitInsertElementInst() 697 InstCombiner::EvaluateInDifferentElementOrder(Value *V, ArrayRef<int> Mask) { in EvaluateInDifferentElementOrder() 830 Instruction *InstCombiner::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst()
|
D | InstCombineCompares.cpp | 227 Instruction *InstCombiner:: 505 static Value *EvaluateGEPOffsetExpression(User *GEP, InstCombiner &IC, in EvaluateGEPOffsetExpression() 600 Instruction *InstCombiner::FoldGEPICmp(GEPOperator *GEPLHS, Value *RHS, in FoldGEPICmp() 733 Instruction *InstCombiner::FoldAllocaCmp(ICmpInst &ICI, AllocaInst *Alloca, in FoldAllocaCmp() 811 Instruction *InstCombiner::FoldICmpAddOpCst(Instruction &ICI, in FoldICmpAddOpCst() 860 Instruction *InstCombiner::FoldICmpDivCst(ICmpInst &ICI, BinaryOperator *DivI, in FoldICmpDivCst() 1016 Instruction *InstCombiner::FoldICmpShrCst(ICmpInst &ICI, BinaryOperator *Shr, in FoldICmpShrCst() 1104 Instruction *InstCombiner::FoldICmpCstShrCst(ICmpInst &I, Value *Op, Value *A, in FoldICmpCstShrCst() 1168 Instruction *InstCombiner::FoldICmpCstShlCst(ICmpInst &I, Value *Op, Value *A, in FoldICmpCstShlCst() 1213 Instruction *InstCombiner::visitICmpInstWithInstAndIntCst(ICmpInst &ICI, in visitICmpInstWithInstAndIntCst() [all …]
|
D | InstCombineSimplifyDemanded.cpp | 55 bool InstCombiner::SimplifyDemandedInstructionBits(Instruction &Inst) { in SimplifyDemandedInstructionBits() 71 bool InstCombiner::SimplifyDemandedBits(Use &U, APInt DemandedMask, in SimplifyDemandedBits() 104 Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask, in SimplifyDemandedUseBits() 804 Value *InstCombiner::SimplifyShrShlDemandedBits(Instruction *Shr, in SimplifyShrShlDemandedBits() 876 Value *InstCombiner::SimplifyDemandedVectorElts(Value *V, APInt DemandedElts, in SimplifyDemandedVectorElts()
|
D | InstCombineInternal.h | 165 class LLVM_LIBRARY_VISIBILITY InstCombiner 166 : public InstVisitor<InstCombiner, Instruction *> { 197 InstCombiner(InstCombineWorklist &Worklist, BuilderTy *Builder, in InstCombiner() function
|
/external/llvm/test/Transforms/InstCombine/ |
D | vector-type.ll | 1 ; The code in InstCombiner::FoldSelectOpOp was calling
|
/external/llvm/docs/ |
D | Bugpoint.rst | 174 to modify are the "``visit*``" methods of ``InstCombiner`` (*e.g.* 179 ``InstCombiner::DoOneIteration``, ``InstCombiner::runOnFunction`` to limit the
|