Home
last modified time | relevance | path

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

/external/llvm/lib/Transforms/InstCombine/
DInstCombineCasts.cpp81 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 …]
DInstCombineLoadStoreAlloca.cpp168 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 …]
DInstCombineMulDivRem.cpp28 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 …]
DInstructionCombining.cpp79 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 …]
DInstCombineShifts.cpp24 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()
DInstCombinePHI.cpp25 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()
DInstCombineSelect.cpp62 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()
DInstCombineAddSub.cpp160 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 …]
DInstCombineCalls.cpp63 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 …]
DInstCombineAndOrXor.cpp72 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 …]
DInstCombineVectorOps.cpp68 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()
DInstCombineCompares.cpp227 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 …]
DInstCombineSimplifyDemanded.cpp55 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()
DInstCombineInternal.h165 class LLVM_LIBRARY_VISIBILITY InstCombiner
166 : public InstVisitor<InstCombiner, Instruction *> {
197 InstCombiner(InstCombineWorklist &Worklist, BuilderTy *Builder, in InstCombiner() function
/external/llvm/test/Transforms/InstCombine/
Dvector-type.ll1 ; The code in InstCombiner::FoldSelectOpOp was calling
/external/llvm/docs/
DBugpoint.rst174 to modify are the "``visit*``" methods of ``InstCombiner`` (*e.g.*
179 ``InstCombiner::DoOneIteration``, ``InstCombiner::runOnFunction`` to limit the