Home
last modified time | relevance | path

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

12

/external/swiftshader/third_party/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()
296 bool InstCombiner::SimplifyDivRemOfSelect(BinaryOperator &I) { in SimplifyDivRemOfSelect()
370 Instruction *InstCombiner::commonIDivTransforms(BinaryOperator &I) { in commonIDivTransforms()
435 Instruction *InstCombiner::visitUDiv(BinaryOperator &I) { in visitUDiv()
503 Instruction *InstCombiner::visitSDiv(BinaryOperator &I) { in visitSDiv()
556 Instruction *InstCombiner::visitFDiv(BinaryOperator &I) { in visitFDiv()
581 Instruction *InstCombiner::commonIRemTransforms(BinaryOperator &I) { in commonIRemTransforms()
613 Instruction *InstCombiner::visitURem(BinaryOperator &I) { in visitURem()
[all …]
DInstCombineCasts.cpp78 Instruction *InstCombiner::PromoteCastOfAllocation(BitCastInst &CI, in PromoteCastOfAllocation()
155 Value *InstCombiner::EvaluateInDifferentType(Value *V, Type *Ty, in EvaluateInDifferentType()
263 bool InstCombiner::ShouldOptimizeCast(Instruction::CastOps opc, const Value *V, in ShouldOptimizeCast()
284 Instruction *InstCombiner::commonCastTransforms(CastInst &CI) { in commonCastTransforms()
429 Instruction *InstCombiner::visitTrunc(TruncInst &CI) { in visitTrunc()
503 Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, Instruction &CI, in transformZExtICmp()
746 Instruction *InstCombiner::visitZExt(ZExtInst &CI) { in visitZExt()
890 Instruction *InstCombiner::transformSExtICmp(ICmpInst *ICI, Instruction &CI) { in transformSExtICmp()
1052 Instruction *InstCombiner::visitSExt(SExtInst &CI) { in visitSExt()
1179 Instruction *InstCombiner::visitFPTrunc(FPTruncInst &CI) { in visitFPTrunc()
[all …]
DInstructionCombining.cpp76 char InstCombiner::ID = 0;
77 INITIALIZE_PASS(InstCombiner, "instcombine",
80 void InstCombiner::getAnalysisUsage(AnalysisUsage &AU) const { in getAnalysisUsage()
88 bool InstCombiner::ShouldChangeType(Type *From, Type *To) const { in ShouldChangeType()
171 bool InstCombiner::SimplifyAssociativeOrCommutative(BinaryOperator &I) { in SimplifyAssociativeOrCommutative()
366 Value *InstCombiner::SimplifyUsingDistributiveLaws(BinaryOperator &I) { in SimplifyUsingDistributiveLaws()
485 Value *InstCombiner::dyn_castNegVal(Value *V) const { in dyn_castNegVal()
504 Value *InstCombiner::dyn_castFNegVal(Value *V) const { in dyn_castFNegVal()
520 InstCombiner *IC) { in FoldOperationIntoSelectOperand()
555 Instruction *InstCombiner::FoldOpIntoSelect(Instruction &Op, SelectInst *SI) { in FoldOpIntoSelect()
[all …]
DInstCombineLoadStoreAlloca.cpp25 Instruction *InstCombiner::visitAllocaInst(AllocaInst &AI) { in visitAllocaInst()
89 static Instruction *InstCombineLoadCast(InstCombiner &IC, LoadInst &LI, in InstCombineLoadCast()
144 Instruction *InstCombiner::visitLoadInst(LoadInst &LI) { in visitLoadInst()
256 static Instruction *InstCombineStoreToCast(InstCombiner &IC, StoreInst &SI) { in InstCombineStoreToCast()
369 Instruction *InstCombiner::visitStoreInst(StoreInst &SI) { in visitStoreInst()
499 bool InstCombiner::SimplifyStoreAtEndOfBlock(StoreInst &SI) { in SimplifyStoreAtEndOfBlock()
DInstCombineAddSub.cpp64 bool InstCombiner::WillNotOverflowSignedAdd(Value *LHS, Value *RHS) { in WillNotOverflowSignedAdd()
86 Instruction *InstCombiner::visitAdd(BinaryOperator &I) { in visitAdd()
324 Instruction *InstCombiner::visitFAdd(BinaryOperator &I) { in visitFAdd()
401 Value *InstCombiner::EmitGEPOffset(User *GEP) { in EmitGEPOffset()
462 Value *InstCombiner::OptimizePointerDifference(Value *LHS, Value *RHS, in OptimizePointerDifference()
529 Instruction *InstCombiner::visitSub(BinaryOperator &I) { in visitSub()
689 Instruction *InstCombiner::visitFSub(BinaryOperator &I) { in visitFSub()
DInstCombineShifts.cpp22 Instruction *InstCombiner::commonShiftTransforms(BinaryOperator &I) { in commonShiftTransforms()
69 InstCombiner &IC) { in CanEvaluateShifted()
184 InstCombiner &IC) { in GetShiftedValue()
311 Instruction *InstCombiner::FoldShiftByConstant(Value *Op0, ConstantInt *Op1, in FoldShiftByConstant()
629 Instruction *InstCombiner::visitShl(BinaryOperator &I) { in visitShl()
667 Instruction *InstCombiner::visitLShr(BinaryOperator &I) { in visitLShr()
707 Instruction *InstCombiner::visitAShr(BinaryOperator &I) { in visitAShr()
DInstCombineCalls.cpp33 Instruction *InstCombiner::SimplifyMemTransfer(MemIntrinsic *MI) { in SimplifyMemTransfer()
123 Instruction *InstCombiner::SimplifyMemSet(MemSetInst *MI) { in SimplifyMemSet()
172 Instruction *InstCombiner::visitCallInst(CallInst &CI) { in visitCallInst()
747 Instruction *InstCombiner::visitInvokeInst(InvokeInst &II) { in visitInvokeInst()
778 InstCombiner *IC;
804 InstCombineFortifiedLibCalls(InstCombiner *IC) : IC(IC), NewInstruction(0) { } in InstCombineFortifiedLibCalls()
813 Instruction *InstCombiner::tryOptimizeCall(CallInst *CI, const TargetData *TD) { in tryOptimizeCall()
900 Instruction *InstCombiner::visitCallSite(CallSite CS) { in visitCallSite()
998 bool InstCombiner::transformConstExprCastCall(CallSite CS) { in transformConstExprCastCall()
1244 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()
DInstCombineSelect.cpp124 Instruction *InstCombiner::FoldSelectOpOp(SelectInst &SI, Instruction *TI, in FoldSelectOpOp()
205 Instruction *InstCombiner::FoldSelectIntoOp(SelectInst &SI, Value *TrueVal, in FoldSelectIntoOp()
343 Instruction *InstCombiner::visitSelectInstWithICmp(SelectInst &SI, in visitSelectInstWithICmp()
554 Instruction *InstCombiner::FoldSPFofSPF(Instruction *Inner, in FoldSPFofSPF()
585 InstCombiner::BuilderTy *Builder) { in foldSelectICmpAnd()
649 Instruction *InstCombiner::visitSelectInst(SelectInst &SI) { in visitSelectInst()
DInstCombineAndOrXor.cpp142 InstCombiner::BuilderTy *Builder) { in getICmpValue()
165 InstCombiner::BuilderTy *Builder) { in getFCmpValue()
194 Instruction *InstCombiner::OptAndOp(Instruction *Op, in OptAndOp()
338 Value *InstCombiner::InsertRangeTest(Value *V, Constant *Lo, Constant *Hi, in InsertRangeTest()
407 Value *InstCombiner::FoldLogicalPlusAnd(Value *LHS, Value *RHS, in FoldLogicalPlusAnd()
645 llvm::InstCombiner::BuilderTy* Builder) { in foldLogOpOfMaskedICmps()
718 Value *InstCombiner::FoldAndOfICmps(ICmpInst *LHS, ICmpInst *RHS) { in FoldAndOfICmps()
962 Value *InstCombiner::FoldAndOfFCmps(FCmpInst *LHS, FCmpInst *RHS) { in FoldAndOfFCmps()
1033 Instruction *InstCombiner::visitAnd(BinaryOperator &I) { in visitAnd()
1403 Instruction *InstCombiner::MatchBSwap(BinaryOperator &I) { in MatchBSwap()
[all …]
DInstCombine.h70 class LLVM_LIBRARY_VISIBILITY InstCombiner
72 public InstVisitor<InstCombiner, Instruction*> {
85 InstCombiner() : FunctionPass(ID), TD(0), Builder(0) { in InstCombiner() function
DInstCombineCompares.cpp200 Instruction *InstCombiner::
470 static Value *EvaluateGEPOffsetExpression(User *GEP, InstCombiner &IC) { in EvaluateGEPOffsetExpression()
566 Instruction *InstCombiner::FoldGEPICmp(GEPOperator *GEPLHS, Value *RHS, in FoldGEPICmp()
680 Instruction *InstCombiner::FoldICmpAddOpCst(ICmpInst &ICI, in FoldICmpAddOpCst()
745 Instruction *InstCombiner::FoldICmpDivCst(ICmpInst &ICI, BinaryOperator *DivI, in FoldICmpDivCst()
902 Instruction *InstCombiner::FoldICmpShrCst(ICmpInst &ICI, BinaryOperator *Shr, in FoldICmpShrCst()
992 Instruction *InstCombiner::visitICmpInstWithInstAndIntCst(ICmpInst &ICI, in visitICmpInstWithInstAndIntCst()
1518 Instruction *InstCombiner::visitICmpInstWithCastAndCast(ICmpInst &ICI) { in visitICmpInstWithCastAndCast()
1636 InstCombiner &IC) { in ProcessUGT_ADDCST_ADD()
1688 InstCombiner::BuilderTy *Builder = IC.Builder; in ProcessUGT_ADDCST_ADD()
[all …]
/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.cpp170 static Instruction *simplifyAllocaArraySize(InstCombiner &IC, AllocaInst &AI) { in simplifyAllocaArraySize()
226 Instruction *InstCombiner::visitAllocaInst(AllocaInst &AI) { in visitAllocaInst()
320 static LoadInst *combineLoadToNewType(InstCombiner &IC, LoadInst &LI, Type *NewTy, in combineLoadToNewType()
394 static StoreInst *combineStoreToNewValue(InstCombiner &IC, StoreInst &SI, Value *V) { in combineStoreToNewValue()
460 static Instruction *combineLoadToOperationType(InstCombiner &IC, LoadInst &LI) { in combineLoadToOperationType()
518 static Instruction *unpackLoadToAggregate(InstCombiner &IC, LoadInst &LI) { in unpackLoadToAggregate()
700 static bool canReplaceGEPIdxWithZero(InstCombiner &IC, GetElementPtrInst *GEPI, in canReplaceGEPIdxWithZero()
772 static Instruction *replaceGEPIdxWithZero(InstCombiner &IC, Value *Ptr, in replaceGEPIdxWithZero()
789 Instruction *InstCombiner::visitLoadInst(LoadInst &LI) { in visitLoadInst()
934 static Value *likeBitCastFromVector(InstCombiner &IC, Value *V) { in likeBitCastFromVector()
[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()
489 Value *InstCombiner::foldFMulConst(Instruction *FMulOrDiv, Constant *C, in foldFMulConst()
537 Instruction *InstCombiner::visitFMul(BinaryOperator &I) { in visitFMul()
730 bool InstCombiner::SimplifyDivRemOfSelect(BinaryOperator &I) { in SimplifyDivRemOfSelect()
803 Instruction *InstCombiner::commonIDivTransforms(BinaryOperator &I) { in commonIDivTransforms()
949 InstCombiner &IC);
975 const BinaryOperator &I, InstCombiner &IC) { in foldUDivPow2Cst()
986 const BinaryOperator &I, InstCombiner &IC) { in foldUDivNegCst()
[all …]
DInstCombineCalls.cpp81 Instruction *InstCombiner::SimplifyMemTransfer(MemIntrinsic *MI) { in SimplifyMemTransfer()
175 Instruction *InstCombiner::SimplifyMemSet(MemSetInst *MI) { in SimplifyMemSet()
219 InstCombiner::BuilderTy &Builder) { in simplifyX86immShift()
332 InstCombiner::BuilderTy &Builder) { in simplifyX86varShift()
440 InstCombiner::BuilderTy &Builder) { in simplifyX86movmsk()
479 InstCombiner::BuilderTy &Builder) { in simplifyX86insertps()
539 InstCombiner::BuilderTy &Builder) { in simplifyX86extrq()
632 InstCombiner::BuilderTy &Builder) { in simplifyX86insertq()
727 InstCombiner::BuilderTy &Builder) { in simplifyX86pshufb()
774 InstCombiner::BuilderTy &Builder) { in simplifyX86vpermilvar()
[all …]
DInstructionCombining.cpp85 Value *InstCombiner::EmitGEPOffset(User *GEP) { in EmitGEPOffset()
93 bool InstCombiner::ShouldChangeType(unsigned FromWidth, in ShouldChangeType()
114 bool InstCombiner::ShouldChangeType(Type *From, Type *To) const { in ShouldChangeType()
185 bool InstCombiner::SimplifyAssociativeOrCommutative(BinaryOperator &I) { in SimplifyAssociativeOrCommutative()
450 static Value *tryFactorization(InstCombiner::BuilderTy *Builder, in tryFactorization()
550 Value *InstCombiner::SimplifyUsingDistributiveLaws(BinaryOperator &I) { in SimplifyUsingDistributiveLaws()
663 Value *InstCombiner::dyn_castNegVal(Value *V) const { in dyn_castNegVal()
680 Value *InstCombiner::dyn_castFNegVal(Value *V, bool IgnoreZeroSign) const { in dyn_castFNegVal()
696 InstCombiner *IC) { in FoldOperationIntoSelectOperand()
736 Instruction *InstCombiner::FoldOpIntoSelect(Instruction &Op, SelectInst *SI) { in FoldOpIntoSelect()
[all …]
DInstCombineShifts.cpp24 Instruction *InstCombiner::commonShiftTransforms(BinaryOperator &I) { in commonShiftTransforms()
62 Instruction *SecondShift, InstCombiner &IC, in canEvaluateShiftedShift()
116 InstCombiner &IC, Instruction *CxtI) { in CanEvaluateShifted()
189 InstCombiner &IC, const DataLayout &DL) { in GetShiftedValue()
322 Instruction *InstCombiner::FoldShiftByConstant(Value *Op0, Constant *Op1, in FoldShiftByConstant()
696 Instruction *InstCombiner::visitShl(BinaryOperator &I) { in visitShl()
738 Instruction *InstCombiner::visitLShr(BinaryOperator &I) { in visitLShr()
782 Instruction *InstCombiner::visitAShr(BinaryOperator &I) { in visitAShr()
DInstCombineSelect.cpp62 static Value *generateMinMaxSelectPattern(InstCombiner::BuilderTy *Builder, in generateMinMaxSelectPattern()
120 Instruction *InstCombiner::FoldSelectOpOp(SelectInst &SI, Instruction *TI, in FoldSelectOpOp()
229 Instruction *InstCombiner::FoldSelectIntoOp(SelectInst &SI, Value *TrueVal, in FoldSelectIntoOp()
311 InstCombiner::BuilderTy *Builder) { in foldSelectICmpAndOr()
371 InstCombiner::BuilderTy *Builder) { in foldSelectCttzCtlz()
415 Instruction *InstCombiner::visitSelectInstWithICmp(SelectInst &SI, in visitSelectInstWithICmp()
651 Instruction *InstCombiner::FoldSPFofSPF(Instruction *Inner, in FoldSPFofSPF()
771 InstCombiner::BuilderTy *Builder) { in foldSelectICmpAnd()
843 InstCombiner::BuilderTy &Builder) { in foldAddSubSelect()
912 Instruction *InstCombiner::visitSelectInst(SelectInst &SI) { in visitSelectInst()
DInstCombinePHI.cpp28 Instruction *InstCombiner::FoldPHIArgBinOpIntoPHI(PHINode &PN) { in FoldPHIArgBinOpIntoPHI()
121 Instruction *InstCombiner::FoldPHIArgGEPIntoPHI(PHINode &PN) { in FoldPHIArgGEPIntoPHI()
276 Instruction *InstCombiner::FoldPHIArgLoadIntoPHI(PHINode &PN) { in FoldPHIArgLoadIntoPHI()
393 Instruction *InstCombiner::FoldPHIArgZextsIntoPHI(PHINode &Phi) { in FoldPHIArgZextsIntoPHI()
467 Instruction *InstCombiner::FoldPHIArgOpIntoPHI(PHINode &PN) { in FoldPHIArgOpIntoPHI()
694 Instruction *InstCombiner::SliceUpIllegalIntegerPHI(PHINode &FirstPhi) { in SliceUpIllegalIntegerPHI()
866 Instruction *InstCombiner::visitPHINode(PHINode &PN) { in visitPHINode()
DInstCombineAndOrXor.cpp72 InstCombiner::BuilderTy *Builder) { in getNewICmpValue()
82 InstCombiner::BuilderTy *Builder) { in getFCmpValue()
97 Value *InstCombiner::SimplifyBSwap(BinaryOperator &I) { in SimplifyBSwap()
150 Instruction *InstCombiner::OptAndOp(Instruction *Op, in OptAndOp()
290 Value *InstCombiner::InsertRangeTest(Value *V, Constant *Lo, Constant *Hi, in InsertRangeTest()
358 Value *InstCombiner::FoldLogicalPlusAnd(Value *LHS, Value *RHS, in FoldLogicalPlusAnd()
692 llvm::InstCombiner::BuilderTy *Builder) { in foldLogOpOfMaskedICmps()
815 Value *InstCombiner::simplifyRangeCheck(ICmpInst *Cmp0, ICmpInst *Cmp1, in simplifyRangeCheck()
868 Value *InstCombiner::FoldAndOfICmps(ICmpInst *LHS, ICmpInst *RHS) { in FoldAndOfICmps()
1098 Value *InstCombiner::FoldAndOfFCmps(FCmpInst *LHS, FCmpInst *RHS) { in FoldAndOfFCmps()
[all …]
DInstCombineAddSub.cpp166 FAddCombine(InstCombiner::BuilderTy *B) : Builder(B), Instr(nullptr) {} in FAddCombine()
189 InstCombiner::BuilderTy *Builder;
873 bool InstCombiner::WillNotOverflowSignedAdd(Value *LHS, Value *RHS, in WillNotOverflowSignedAdd()
925 bool InstCombiner::WillNotOverflowSignedSub(Value *LHS, Value *RHS, in WillNotOverflowSignedSub()
954 bool InstCombiner::WillNotOverflowUnsignedSub(Value *LHS, Value *RHS, in WillNotOverflowUnsignedSub()
975 InstCombiner::BuilderTy *Builder) { in checkForNegativeOperand()
1030 Instruction *InstCombiner::visitAdd(BinaryOperator &I) { in visitAdd()
1295 Instruction *InstCombiner::visitFAdd(BinaryOperator &I) { in visitFAdd()
1408 Value *InstCombiner::OptimizePointerDifference(Value *LHS, Value *RHS, in OptimizePointerDifference()
1472 Instruction *InstCombiner::visitSub(BinaryOperator &I) { in visitSub()
[all …]
DInstCombineVectorOps.cpp68 Instruction *InstCombiner::scalarizePHI(ExtractElementInst &EI, PHINode *PN) { in scalarizePHI()
146 Instruction *InstCombiner::visitExtractElementInst(ExtractElementInst &EI) { in visitExtractElementInst()
376 InstCombiner &IC) { in replaceExtractElements()
453 InstCombiner &IC) { in collectShuffleElements()
541 Instruction *InstCombiner::visitInsertValueInst(InsertValueInst &I) { in visitInsertValueInst()
569 Instruction *InstCombiner::visitInsertElementInst(InsertElementInst &IE) { in visitInsertElementInst()
786 InstCombiner::EvaluateInDifferentElementOrder(Value *V, ArrayRef<int> Mask) { in EvaluateInDifferentElementOrder()
919 Instruction *InstCombiner::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst()
DInstCombineCompares.cpp234 Instruction *InstCombiner::
512 static Value *EvaluateGEPOffsetExpression(User *GEP, InstCombiner &IC, in EvaluateGEPOffsetExpression()
922 Instruction *InstCombiner::FoldGEPICmp(GEPOperator *GEPLHS, Value *RHS, in FoldGEPICmp()
1059 Instruction *InstCombiner::FoldAllocaCmp(ICmpInst &ICI, AllocaInst *Alloca, in FoldAllocaCmp()
1137 Instruction *InstCombiner::FoldICmpAddOpCst(Instruction &ICI, in FoldICmpAddOpCst()
1186 Instruction *InstCombiner::FoldICmpDivCst(ICmpInst &ICI, BinaryOperator *DivI, in FoldICmpDivCst()
1342 Instruction *InstCombiner::FoldICmpShrCst(ICmpInst &ICI, BinaryOperator *Shr, in FoldICmpShrCst()
1430 Instruction *InstCombiner::FoldICmpCstShrCst(ICmpInst &I, Value *Op, Value *A, in FoldICmpCstShrCst()
1494 Instruction *InstCombiner::FoldICmpCstShlCst(ICmpInst &I, Value *Op, Value *A, in FoldICmpCstShlCst()
1538 Instruction *InstCombiner::visitICmpInstWithInstAndIntCst(ICmpInst &ICI, in visitICmpInstWithInstAndIntCst()
[all …]
/external/llvm/test/Transforms/InstCombine/
Dvector-type.ll1 ; The code in InstCombiner::FoldSelectOpOp was calling

12