/external/llvm/lib/Transforms/InstCombine/ |
InstCombineLoadStoreAlloca.cpp | 168 static Instruction *simplifyAllocaArraySize(InstCombiner &IC, AllocaInst &AI) { 224 Instruction *InstCombiner::visitAllocaInst(AllocaInst &AI) { 317 /// point the \c InstCombiner currently is using. 318 static LoadInst *combineLoadToNewType(InstCombiner &IC, LoadInst &LI, Type *NewTy, 391 static StoreInst *combineStoreToNewValue(InstCombiner &IC, StoreInst &SI, Value *V) { 456 static Instruction *combineLoadToOperationType(InstCombiner &IC, LoadInst &LI) { 514 static Instruction *unpackLoadToAggregate(InstCombiner &IC, LoadInst &LI) { 665 static bool canReplaceGEPIdxWithZero(InstCombiner &IC, GetElementPtrInst *GEPI, 739 static Instruction *replaceGEPIdxWithZero(InstCombiner &IC, Value *Ptr, 756 Instruction *InstCombiner::visitLoadInst(LoadInst &LI) [all...] |
InstCombineCasts.cpp | 81 Instruction *InstCombiner::PromoteCastOfAllocation(BitCastInst &CI, 159 Value *InstCombiner::EvaluateInDifferentType(Value *V, Type *Ty, 267 bool InstCombiner::ShouldOptimizeCast(Instruction::CastOps opc, const Value *V, 288 Instruction *InstCombiner::commonCastTransforms(CastInst &CI) { 331 static bool canEvaluateTruncated(Value *V, Type *Ty, InstCombiner &IC, 439 static Instruction *foldVecTruncToExtElt(TruncInst &Trunc, InstCombiner &IC, 477 Instruction *InstCombiner::visitTrunc(TruncInst &CI) { 583 Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, Instruction &CI, 725 InstCombiner &IC, Instruction *CxtI) { [all...] |
InstCombineMulDivRem.cpp | 28 static Value *simplifyValueKnownNonZero(Value *V, InstCombiner &IC, 114 /// \brief A helper routine of InstCombiner::visitMul(). 135 bool InstCombiner::WillNotOverflowSignedMul(Value *LHS, Value *RHS, 175 Instruction *InstCombiner::visitMul(BinaryOperator &I) { 461 /// Helper function of InstCombiner::visitFMul(BinaryOperator(). It returns 479 /// foldFMulConst() is a helper routine of InstCombiner::visitFMul(). 486 Value *InstCombiner::foldFMulConst(Instruction *FMulOrDiv, Constant *C, 534 Instruction *InstCombiner::visitFMul(BinaryOperator &I) { 716 bool InstCombiner::SimplifyDivRemOfSelect(BinaryOperator &I) { 789 Instruction *InstCombiner::commonIDivTransforms(BinaryOperator &I) [all...] |
InstCombinePHI.cpp | 25 Instruction *InstCombiner::FoldPHIArgBinOpIntoPHI(PHINode &PN) { 131 Instruction *InstCombiner::FoldPHIArgGEPIntoPHI(PHINode &PN) { 286 Instruction *InstCombiner::FoldPHIArgLoadIntoPHI(PHINode &PN) { 403 Instruction *InstCombiner::FoldPHIArgZextsIntoPHI(PHINode &Phi) { 477 Instruction *InstCombiner::FoldPHIArgOpIntoPHI(PHINode &PN) { 708 Instruction *InstCombiner::SliceUpIllegalIntegerPHI(PHINode &FirstPhi) { [all...] |
InstCombineShifts.cpp | 24 Instruction *InstCombiner::commonShiftTransforms(BinaryOperator &I) { 71 InstCombiner &IC, Instruction *CxtI) { 190 InstCombiner &IC, const DataLayout &DL) { 321 Instruction *InstCombiner::FoldShiftByConstant(Value *Op0, Constant *Op1, 695 Instruction *InstCombiner::visitShl(BinaryOperator &I) { 737 Instruction *InstCombiner::visitLShr(BinaryOperator &I) { 781 Instruction *InstCombiner::visitAShr(BinaryOperator &I) { [all...] |
InstCombineSelect.cpp | 62 static Value *generateMinMaxSelectPattern(InstCombiner::BuilderTy *Builder, 121 Instruction *InstCombiner::FoldSelectOpOp(SelectInst &SI, Instruction *TI, 208 Instruction *InstCombiner::FoldSelectIntoOp(SelectInst &SI, Value *TrueVal, 300 InstCombiner::BuilderTy *Builder) { 360 InstCombiner::BuilderTy *Builder) { 404 Instruction *InstCombiner::visitSelectInstWithICmp(SelectInst &SI, 640 Instruction *InstCombiner::FoldSPFofSPF(Instruction *Inner, 757 InstCombiner::BuilderTy *Builder) { 826 Instruction *InstCombiner::visitSelectInst(SelectInst &SI) { [all...] |
InstructionCombining.cpp | 79 Value *InstCombiner::EmitGEPOffset(User *GEP) { 87 bool InstCombiner::ShouldChangeType(unsigned FromWidth, 108 bool InstCombiner::ShouldChangeType(Type *From, Type *To) const { 189 bool InstCombiner::SimplifyAssociativeOrCommutative(BinaryOperator &I) { 454 static Value *tryFactorization(InstCombiner::BuilderTy *Builder, 554 Value *InstCombiner::SimplifyUsingDistributiveLaws(BinaryOperator &I) { 667 Value *InstCombiner::dyn_castNegVal(Value *V) const { 684 Value *InstCombiner::dyn_castFNegVal(Value *V, bool IgnoreZeroSign) const { 700 InstCombiner *IC) { 740 Instruction *InstCombiner::FoldOpIntoSelect(Instruction &Op, SelectInst *SI) [all...] |
InstCombineAddSub.cpp | 160 FAddCombine(InstCombiner::BuilderTy *B) : Builder(B), Instr(nullptr) {} 183 InstCombiner::BuilderTy *Builder; 893 bool InstCombiner::WillNotOverflowSignedAdd(Value *LHS, Value *RHS, 945 bool InstCombiner::WillNotOverflowSignedSub(Value *LHS, Value *RHS, 974 bool InstCombiner::WillNotOverflowUnsignedSub(Value *LHS, Value *RHS, 995 InstCombiner::BuilderTy *Builder) { [all...] |
InstCombineCalls.cpp | 63 Instruction *InstCombiner::SimplifyMemTransfer(MemIntrinsic *MI) { 157 Instruction *InstCombiner::SimplifyMemSet(MemSetInst *MI) { 201 InstCombiner::BuilderTy &Builder) { 311 InstCombiner::BuilderTy &Builder, 329 InstCombiner::BuilderTy &Builder) { 388 InstCombiner::BuilderTy &Builder) { 481 InstCombiner::BuilderTy &Builder) { 578 InstCombiner::BuilderTy &Builder) { 641 InstCombiner::BuilderTy &Builder, bool IsSigned) { 680 Instruction *InstCombiner::visitCallInst(CallInst &CI) [all...] |
InstCombineAndOrXor.cpp | 72 InstCombiner::BuilderTy *Builder) { 84 InstCombiner::BuilderTy *Builder) { 107 Value *InstCombiner::SimplifyBSwap(BinaryOperator &I) { 160 Instruction *InstCombiner::OptAndOp(Instruction *Op, 300 Value *InstCombiner::InsertRangeTest(Value *V, Constant *Lo, Constant *Hi, 368 Value *InstCombiner::FoldLogicalPlusAnd(Value *LHS, Value *RHS, 704 llvm::InstCombiner::BuilderTy *Builder) { [all...] |
InstCombineInternal.h | 165 class LLVM_LIBRARY_VISIBILITY InstCombiner 166 : public InstVisitor<InstCombiner, Instruction *> { 197 InstCombiner(InstCombineWorklist &Worklist, BuilderTy *Builder,
|
InstCombineVectorOps.cpp | 68 Instruction *InstCombiner::scalarizePHI(ExtractElementInst &EI, PHINode *PN) { 131 Instruction *InstCombiner::visitExtractElementInst(ExtractElementInst &EI) { 452 Instruction *InstCombiner::visitInsertValueInst(InsertValueInst &I) { 480 Instruction *InstCombiner::visitInsertElementInst(InsertElementInst &IE) { 697 InstCombiner::EvaluateInDifferentElementOrder(Value *V, ArrayRef<int> Mask) { [all...] |
InstCombineCompares.cpp | 227 Instruction *InstCombiner:: 505 static Value *EvaluateGEPOffsetExpression(User *GEP, InstCombiner &IC, 600 Instruction *InstCombiner::FoldGEPICmp(GEPOperator *GEPLHS, Value *RHS, 733 Instruction *InstCombiner::FoldAllocaCmp(ICmpInst &ICI, AllocaInst *Alloca, [all...] |
InstCombineSimplifyDemanded.cpp | 55 bool InstCombiner::SimplifyDemandedInstructionBits(Instruction &Inst) { 71 bool InstCombiner::SimplifyDemandedBits(Use &U, APInt DemandedMask, 104 Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask, [all...] |