Home
last modified time | relevance | path

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

/external/llvm/lib/Transforms/InstCombine/
DInstCombineMulDivRem.cpp26 static Value *simplifyValueKnownNonZero(Value *V, InstCombiner &IC) { in simplifyValueKnownNonZero()
99 Instruction *InstCombiner::visitMul(BinaryOperator &I) { in visitMul()
255 Instruction *InstCombiner::visitFMul(BinaryOperator &I) { in visitFMul()
292 bool InstCombiner::SimplifyDivRemOfSelect(BinaryOperator &I) { in SimplifyDivRemOfSelect()
366 Instruction *InstCombiner::commonIDivTransforms(BinaryOperator &I) { in commonIDivTransforms()
431 Instruction *InstCombiner::visitUDiv(BinaryOperator &I) { in visitUDiv()
516 Instruction *InstCombiner::visitSDiv(BinaryOperator &I) { in visitSDiv()
569 Instruction *InstCombiner::visitFDiv(BinaryOperator &I) { in visitFDiv()
594 Instruction *InstCombiner::commonIRemTransforms(BinaryOperator &I) { in commonIRemTransforms()
626 Instruction *InstCombiner::visitURem(BinaryOperator &I) { in visitURem()
[all …]
DInstructionCombining.cpp77 char InstCombiner::ID = 0;
78 INITIALIZE_PASS_BEGIN(InstCombiner, "instcombine",
81 INITIALIZE_PASS_END(InstCombiner, "instcombine", in INITIALIZE_PASS_DEPENDENCY()
84 void InstCombiner::getAnalysisUsage(AnalysisUsage &AU) const { in INITIALIZE_PASS_DEPENDENCY()
90 Value *InstCombiner::EmitGEPOffset(User *GEP) { in EmitGEPOffset()
97 bool InstCombiner::ShouldChangeType(Type *From, Type *To) const { in ShouldChangeType()
180 bool InstCombiner::SimplifyAssociativeOrCommutative(BinaryOperator &I) { in SimplifyAssociativeOrCommutative()
375 Value *InstCombiner::SimplifyUsingDistributiveLaws(BinaryOperator &I) { in SimplifyUsingDistributiveLaws()
494 Value *InstCombiner::dyn_castNegVal(Value *V) const { in dyn_castNegVal()
513 Value *InstCombiner::dyn_castFNegVal(Value *V) const { in dyn_castFNegVal()
[all …]
DInstCombineCasts.cpp79 Instruction *InstCombiner::PromoteCastOfAllocation(BitCastInst &CI, in PromoteCastOfAllocation()
154 Value *InstCombiner::EvaluateInDifferentType(Value *V, Type *Ty, in EvaluateInDifferentType()
261 bool InstCombiner::ShouldOptimizeCast(Instruction::CastOps opc, const Value *V, in ShouldOptimizeCast()
282 Instruction *InstCombiner::commonCastTransforms(CastInst &CI) { in commonCastTransforms()
427 Instruction *InstCombiner::visitTrunc(TruncInst &CI) { in visitTrunc()
501 Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, Instruction &CI, in transformZExtICmp()
738 Instruction *InstCombiner::visitZExt(ZExtInst &CI) { in visitZExt()
882 Instruction *InstCombiner::transformSExtICmp(ICmpInst *ICI, Instruction &CI) { in transformSExtICmp()
1040 Instruction *InstCombiner::visitSExt(SExtInst &CI) { in visitSExt()
1170 Instruction *InstCombiner::visitFPTrunc(FPTruncInst &CI) { in visitFPTrunc()
[all …]
DInstCombineAddSub.cpp64 bool InstCombiner::WillNotOverflowSignedAdd(Value *LHS, Value *RHS) { in WillNotOverflowSignedAdd()
86 Instruction *InstCombiner::visitAdd(BinaryOperator &I) { in visitAdd()
350 Instruction *InstCombiner::visitFAdd(BinaryOperator &I) { in visitFAdd()
428 Value *InstCombiner::OptimizePointerDifference(Value *LHS, Value *RHS, in OptimizePointerDifference()
495 Instruction *InstCombiner::visitSub(BinaryOperator &I) { in visitSub()
653 Instruction *InstCombiner::visitFSub(BinaryOperator &I) { in visitFSub()
DInstCombineLoadStoreAlloca.cpp172 Instruction *InstCombiner::visitAllocaInst(AllocaInst &AI) { in visitAllocaInst()
293 static Instruction *InstCombineLoadCast(InstCombiner &IC, LoadInst &LI, in InstCombineLoadCast()
348 Instruction *InstCombiner::visitLoadInst(LoadInst &LI) { in visitLoadInst()
460 static Instruction *InstCombineStoreToCast(InstCombiner &IC, StoreInst &SI) { in InstCombineStoreToCast()
573 Instruction *InstCombiner::visitStoreInst(StoreInst &SI) { in visitStoreInst()
703 bool InstCombiner::SimplifyStoreAtEndOfBlock(StoreInst &SI) { in SimplifyStoreAtEndOfBlock()
DInstCombineShifts.cpp22 Instruction *InstCombiner::commonShiftTransforms(BinaryOperator &I) { in commonShiftTransforms()
69 InstCombiner &IC) { in CanEvaluateShifted()
184 InstCombiner &IC) { in GetShiftedValue()
312 Instruction *InstCombiner::FoldShiftByConstant(Value *Op0, ConstantInt *Op1, in FoldShiftByConstant()
680 Instruction *InstCombiner::visitShl(BinaryOperator &I) { in visitShl()
718 Instruction *InstCombiner::visitLShr(BinaryOperator &I) { in visitLShr()
758 Instruction *InstCombiner::visitAShr(BinaryOperator &I) { in visitAShr()
DInstCombineCalls.cpp33 Instruction *InstCombiner::SimplifyMemTransfer(MemIntrinsic *MI) { in SimplifyMemTransfer()
123 Instruction *InstCombiner::SimplifyMemSet(MemSetInst *MI) { in SimplifyMemSet()
170 Instruction *InstCombiner::visitCallInst(CallInst &CI) { in visitCallInst()
726 Instruction *InstCombiner::visitInvokeInst(InvokeInst &II) { in visitInvokeInst()
757 InstCombiner *IC;
783 InstCombineFortifiedLibCalls(InstCombiner *IC) : IC(IC), NewInstruction(0) { } in InstCombineFortifiedLibCalls()
792 Instruction *InstCombiner::tryOptimizeCall(CallInst *CI, const TargetData *TD) { in tryOptimizeCall()
879 Instruction *InstCombiner::visitCallSite(CallSite CS) { in visitCallSite()
980 bool InstCombiner::transformConstExprCastCall(CallSite CS) { in transformConstExprCastCall()
1234 InstCombiner::transformCallThroughTrampoline(CallSite CS, in transformCallThroughTrampoline()
DInstCombinePHI.cpp24 Instruction *InstCombiner::FoldPHIArgBinOpIntoPHI(PHINode &PN) { in FoldPHIArgBinOpIntoPHI()
130 Instruction *InstCombiner::FoldPHIArgGEPIntoPHI(PHINode &PN) { in FoldPHIArgGEPIntoPHI()
287 Instruction *InstCombiner::FoldPHIArgLoadIntoPHI(PHINode &PN) { in FoldPHIArgLoadIntoPHI()
391 Instruction *InstCombiner::FoldPHIArgOpIntoPHI(PHINode &PN) { in FoldPHIArgOpIntoPHI()
620 Instruction *InstCombiner::SliceUpIllegalIntegerPHI(PHINode &FirstPhi) { in SliceUpIllegalIntegerPHI()
794 Instruction *InstCombiner::visitPHINode(PHINode &PN) { in visitPHINode()
DInstCombineAndOrXor.cpp98 InstCombiner::BuilderTy *Builder) { in getNewICmpValue()
110 InstCombiner::BuilderTy *Builder) { in getFCmpValue()
131 Instruction *InstCombiner::OptAndOp(Instruction *Op, in OptAndOp()
275 Value *InstCombiner::InsertRangeTest(Value *V, Constant *Lo, Constant *Hi, in InsertRangeTest()
344 Value *InstCombiner::FoldLogicalPlusAnd(Value *LHS, Value *RHS, in FoldLogicalPlusAnd()
633 llvm::InstCombiner::BuilderTy* Builder) { in foldLogOpOfMaskedICmps()
710 Value *InstCombiner::FoldAndOfICmps(ICmpInst *LHS, ICmpInst *RHS) { in FoldAndOfICmps()
942 Value *InstCombiner::FoldAndOfFCmps(FCmpInst *LHS, FCmpInst *RHS) { in FoldAndOfFCmps()
1017 Instruction *InstCombiner::visitAnd(BinaryOperator &I) { in visitAnd()
1382 Instruction *InstCombiner::MatchBSwap(BinaryOperator &I) { in MatchBSwap()
[all …]
DInstCombine.h71 class LLVM_LIBRARY_VISIBILITY InstCombiner
73 public InstVisitor<InstCombiner, Instruction*> {
87 InstCombiner() : FunctionPass(ID), TD(0), Builder(0) { in InstCombiner() function
DInstCombineSelect.cpp124 Instruction *InstCombiner::FoldSelectOpOp(SelectInst &SI, Instruction *TI, in FoldSelectOpOp()
210 Instruction *InstCombiner::FoldSelectIntoOp(SelectInst &SI, Value *TrueVal, in FoldSelectIntoOp()
351 Instruction *InstCombiner::visitSelectInstWithICmp(SelectInst &SI, in visitSelectInstWithICmp()
562 Instruction *InstCombiner::FoldSPFofSPF(Instruction *Inner, in FoldSPFofSPF()
593 InstCombiner::BuilderTy *Builder) { in foldSelectICmpAnd()
657 Instruction *InstCombiner::visitSelectInst(SelectInst &SI) { in visitSelectInst()
DInstCombineCompares.cpp201 Instruction *InstCombiner::
476 static Value *EvaluateGEPOffsetExpression(User *GEP, InstCombiner &IC) { in EvaluateGEPOffsetExpression()
572 Instruction *InstCombiner::FoldGEPICmp(GEPOperator *GEPLHS, Value *RHS, in FoldGEPICmp()
708 Instruction *InstCombiner::FoldICmpAddOpCst(ICmpInst &ICI, in FoldICmpAddOpCst()
773 Instruction *InstCombiner::FoldICmpDivCst(ICmpInst &ICI, BinaryOperator *DivI, in FoldICmpDivCst()
930 Instruction *InstCombiner::FoldICmpShrCst(ICmpInst &ICI, BinaryOperator *Shr, in FoldICmpShrCst()
1020 Instruction *InstCombiner::visitICmpInstWithInstAndIntCst(ICmpInst &ICI, in visitICmpInstWithInstAndIntCst()
1545 Instruction *InstCombiner::visitICmpInstWithCastAndCast(ICmpInst &ICI) { in visitICmpInstWithCastAndCast()
1663 InstCombiner &IC) { in ProcessUGT_ADDCST_ADD()
1723 InstCombiner::BuilderTy *Builder = IC.Builder; in ProcessUGT_ADDCST_ADD()
[all …]
DInstCombineVectorOps.cpp99 Instruction *InstCombiner::visitExtractElementInst(ExtractElementInst &EI) { in visitExtractElementInst()
354 Instruction *InstCombiner::visitInsertElementInst(InsertElementInst &IE) { in visitInsertElementInst()
410 Instruction *InstCombiner::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst()
DInstCombineSimplifyDemanded.cpp52 bool InstCombiner::SimplifyDemandedInstructionBits(Instruction &Inst) { in SimplifyDemandedInstructionBits()
68 bool InstCombiner::SimplifyDemandedBits(Use &U, APInt DemandedMask, in SimplifyDemandedBits()
100 Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask, in SimplifyDemandedUseBits()
812 Value *InstCombiner::SimplifyDemandedVectorElts(Value *V, APInt DemandedElts, in SimplifyDemandedVectorElts()
/external/llvm/docs/
DBugpoint.rst176 to modify are the "``visit*``" methods of ``InstCombiner`` (*e.g.*
181 ``InstCombiner::DoOneIteration``, ``InstCombiner::runOnFunction`` to limit the
/external/llvm/lib/Target/X86/
DREADME.txt1602 be handled pretty easily in InstCombiner::visitICmpInstWithInstAndIntCst, but it
1603 looks like InstCombiner::visitICmpInstWithInstAndIntCst should really already