AA | llvm::InstCombiner | protected |
AC | llvm::InstCombiner | protected |
addDeadEdge(BasicBlock *From, BasicBlock *To, SmallVectorImpl< BasicBlock * > &Worklist) | llvm::InstCombinerImpl | |
AddOne(Constant *C) | llvm::InstCombiner | inlinestatic |
addToWorklist(Instruction *I) | llvm::InstCombiner | inline |
BackEdges | llvm::InstCombiner | protected |
BFI | llvm::InstCombiner | protected |
BPI | llvm::InstCombiner | protected |
Builder | llvm::InstCombiner | |
BuilderTy typedef | llvm::InstCombiner | |
canFreelyInvertAllUsersOf(Instruction *V, Value *IgnoredUser) | llvm::InstCombiner | inline |
canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract(BinaryOperator &I) | llvm::InstCombinerImpl | |
canonicalizeICmpPredicate(CmpInst &I) | llvm::InstCombinerImpl | |
combineLoadToNewType(LoadInst &LI, Type *NewTy, const Twine &Suffix="") | llvm::InstCombinerImpl | |
commonCastTransforms(CastInst &CI) | llvm::InstCombinerImpl | |
commonIDivRemTransforms(BinaryOperator &I) | llvm::InstCombinerImpl | |
commonIDivTransforms(BinaryOperator &I) | llvm::InstCombinerImpl | |
commonIRemTransforms(BinaryOperator &I) | llvm::InstCombinerImpl | |
commonShiftTransforms(BinaryOperator &I) | llvm::InstCombinerImpl | |
computeBackEdges() | llvm::InstCombiner | |
ComputedBackEdges | llvm::InstCombiner | protected |
computeKnownBits(const Value *V, KnownBits &Known, unsigned Depth, const Instruction *CxtI) const | llvm::InstCombiner | inline |
computeKnownBits(const Value *V, unsigned Depth, const Instruction *CxtI) const | llvm::InstCombiner | inline |
computeKnownFPClass(Value *Val, FastMathFlags FMF, FPClassTest Interested=fcAllFlags, const Instruction *CtxI=nullptr, unsigned Depth=0) const | llvm::InstCombinerImpl | inline |
computeKnownFPClass(Value *Val, FPClassTest Interested=fcAllFlags, const Instruction *CtxI=nullptr, unsigned Depth=0) const | llvm::InstCombinerImpl | inline |
ComputeMaxSignificantBits(const Value *Op, unsigned Depth=0, const Instruction *CxtI=nullptr) const | llvm::InstCombiner | inline |
ComputeNumSignBits(const Value *Op, unsigned Depth=0, const Instruction *CxtI=nullptr) const | llvm::InstCombiner | inline |
computeOverflow(Instruction::BinaryOps BinaryOp, bool IsSigned, Value *LHS, Value *RHS, Instruction *CxtI) const | llvm::InstCombinerImpl | |
computeOverflowForSignedAdd(const WithCache< const Value * > &LHS, const WithCache< const Value * > &RHS, const Instruction *CxtI) const | llvm::InstCombiner | inline |
computeOverflowForSignedMul(const Value *LHS, const Value *RHS, const Instruction *CxtI) const | llvm::InstCombiner | inline |
computeOverflowForSignedSub(const Value *LHS, const Value *RHS, const Instruction *CxtI) const | llvm::InstCombiner | inline |
computeOverflowForUnsignedAdd(const WithCache< const Value * > &LHS, const WithCache< const Value * > &RHS, const Instruction *CxtI) const | llvm::InstCombiner | inline |
computeOverflowForUnsignedMul(const Value *LHS, const Value *RHS, const Instruction *CxtI, bool IsNSW=false) const | llvm::InstCombiner | inline |
computeOverflowForUnsignedSub(const Value *LHS, const Value *RHS, const Instruction *CxtI) const | llvm::InstCombiner | inline |
convertOrOfShiftsToFunnelShift(Instruction &Or) | llvm::InstCombinerImpl | |
CreateNonTerminatorUnreachable(Instruction *InsertAt) | llvm::InstCombinerImpl | inline |
DC | llvm::InstCombiner | protected |
DeadEdges | llvm::InstCombiner | protected |
DL | llvm::InstCombiner | protected |
dominatesAllUses(const Instruction *DI, const Instruction *UI, const BasicBlock *DB) const | llvm::InstCombinerImpl | |
DT | llvm::InstCombiner | protected |
eraseInstFromFunction(Instruction &I) override | llvm::InstCombinerImpl | inlinevirtual |
EvaluateInDifferentType(Value *V, Type *Ty, bool isSigned) | llvm::InstCombinerImpl | |
fmulByZeroIsZero(Value *MulVal, FastMathFlags FMF, const Instruction *CtxI) const | llvm::InstCombinerImpl | |
foldAddLikeCommutative(Value *LHS, Value *RHS, bool NSW, bool NUW) | llvm::InstCombinerImpl | |
foldAddWithConstant(BinaryOperator &Add) | llvm::InstCombinerImpl | |
foldAggregateConstructionIntoAggregateReuse(InsertValueInst &OrigIVI) | llvm::InstCombinerImpl | |
foldAllocaCmp(AllocaInst *Alloca) | llvm::InstCombinerImpl | |
foldBinOpIntoSelectOrPhi(BinaryOperator &I) | llvm::InstCombinerImpl | |
foldBinOpOfSelectAndCastOfSelectCondition(BinaryOperator &I) | llvm::InstCombinerImpl | |
foldBinOpShiftWithShift(BinaryOperator &I) | llvm::InstCombinerImpl | |
foldBinopWithPhiOperands(BinaryOperator &BO) | llvm::InstCombinerImpl | |
foldCmpLoadFromIndexedGlobal(LoadInst *LI, GetElementPtrInst *GEP, GlobalVariable *GV, CmpInst &ICI, ConstantInt *AndCst=nullptr) | llvm::InstCombinerImpl | |
foldDeadPhiWeb(PHINode &PN) | llvm::InstCombinerImpl | |
foldFCmpIntToFPConst(FCmpInst &I, Instruction *LHSI, Constant *RHSC) | llvm::InstCombinerImpl | |
foldFMulReassoc(BinaryOperator &I) | llvm::InstCombinerImpl | |
foldFreezeIntoRecurrence(FreezeInst &I, PHINode *PN) | llvm::InstCombinerImpl | |
foldGEPICmp(GEPOperator *GEPLHS, Value *RHS, CmpPredicate Cond, Instruction &I) | llvm::InstCombinerImpl | |
foldICmpAddConstant(ICmpInst &Cmp, BinaryOperator *Add, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpAddOpConst(Value *X, const APInt &C, CmpPredicate Pred) | llvm::InstCombinerImpl | |
foldICmpAndConstant(ICmpInst &Cmp, BinaryOperator *And, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpAndConstConst(ICmpInst &Cmp, BinaryOperator *And, const APInt &C1) | llvm::InstCombinerImpl | |
foldICmpAndShift(ICmpInst &Cmp, BinaryOperator *And, const APInt &C1, const APInt &C2) | llvm::InstCombinerImpl | |
foldICmpBinOp(ICmpInst &Cmp, const SimplifyQuery &SQ) | llvm::InstCombinerImpl | |
foldICmpBinOpEqualityWithConstant(ICmpInst &Cmp, BinaryOperator *BO, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpBinOpWithConstant(ICmpInst &Cmp, BinaryOperator *BO, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpBitCast(ICmpInst &Cmp) | llvm::InstCombinerImpl | |
foldICmpCommutative(CmpPredicate Pred, Value *Op0, Value *Op1, ICmpInst &CxtI) | llvm::InstCombinerImpl | |
foldICmpDivConstant(ICmpInst &Cmp, BinaryOperator *Div, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpEqIntrinsicWithConstant(ICmpInst &ICI, IntrinsicInst *II, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpEquality(ICmpInst &Cmp) | llvm::InstCombinerImpl | |
foldICmpInstWithConstant(ICmpInst &Cmp) | llvm::InstCombinerImpl | |
foldICmpInstWithConstantAllowPoison(ICmpInst &Cmp, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpInstWithConstantNotInt(ICmpInst &Cmp) | llvm::InstCombinerImpl | |
foldICmpIntrinsicWithConstant(ICmpInst &ICI, IntrinsicInst *II, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpMulConstant(ICmpInst &Cmp, BinaryOperator *Mul, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpOrConstant(ICmpInst &Cmp, BinaryOperator *Or, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpSelectConstant(ICmpInst &Cmp, SelectInst *Select, ConstantInt *C) | llvm::InstCombinerImpl | |
foldICmpShlConstant(ICmpInst &Cmp, BinaryOperator *Shl, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpShlConstConst(ICmpInst &I, Value *ShAmt, const APInt &C1, const APInt &C2) | llvm::InstCombinerImpl | |
foldICmpShrConstant(ICmpInst &Cmp, BinaryOperator *Shr, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpShrConstConst(ICmpInst &I, Value *ShAmt, const APInt &C1, const APInt &C2) | llvm::InstCombinerImpl | |
foldICmpSRemConstant(ICmpInst &Cmp, BinaryOperator *UDiv, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpSubConstant(ICmpInst &Cmp, BinaryOperator *Sub, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpTruncConstant(ICmpInst &Cmp, TruncInst *Trunc, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpTruncWithTruncOrExt(ICmpInst &Cmp, const SimplifyQuery &Q) | llvm::InstCombinerImpl | |
foldICmpUDivConstant(ICmpInst &Cmp, BinaryOperator *UDiv, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpUsingBoolRange(ICmpInst &I) | llvm::InstCombinerImpl | |
foldICmpUsingKnownBits(ICmpInst &Cmp) | llvm::InstCombinerImpl | |
foldICmpWithCastOp(ICmpInst &ICmp) | llvm::InstCombinerImpl | |
foldICmpWithConstant(ICmpInst &Cmp) | llvm::InstCombinerImpl | |
foldICmpWithDominatingICmp(ICmpInst &Cmp) | llvm::InstCombinerImpl | |
foldICmpWithMinMax(Instruction &I, MinMaxIntrinsic *MinMax, Value *Z, CmpPredicate Pred) | llvm::InstCombinerImpl | |
foldICmpWithTrunc(ICmpInst &Cmp) | llvm::InstCombinerImpl | |
foldICmpWithZero(ICmpInst &Cmp) | llvm::InstCombinerImpl | |
foldICmpWithZextOrSext(ICmpInst &ICmp) | llvm::InstCombinerImpl | |
foldICmpXorConstant(ICmpInst &Cmp, BinaryOperator *Xor, const APInt &C) | llvm::InstCombinerImpl | |
foldICmpXorShiftConst(ICmpInst &Cmp, BinaryOperator *Xor, const APInt &C) | llvm::InstCombinerImpl | |
foldIntegerTypedPHI(PHINode &PN) | llvm::InstCombinerImpl | |
foldIRemByPowerOfTwoToBitTest(ICmpInst &I) | llvm::InstCombinerImpl | |
foldItoFPtoI(CastInst &FI) | llvm::InstCombinerImpl | |
foldMultiplicationOverflowCheck(ICmpInst &Cmp) | llvm::InstCombinerImpl | |
foldOpIntoPhi(Instruction &I, PHINode *PN, bool AllowMultipleUses=false) | llvm::InstCombinerImpl | |
FoldOpIntoSelect(Instruction &Op, SelectInst *SI, bool FoldWithMultiUse=false) | llvm::InstCombinerImpl | |
foldPHIArgBinOpIntoPHI(PHINode &PN) | llvm::InstCombinerImpl | |
foldPHIArgExtractValueInstructionIntoPHI(PHINode &PN) | llvm::InstCombinerImpl | |
foldPHIArgGEPIntoPHI(PHINode &PN) | llvm::InstCombinerImpl | |
foldPHIArgInsertValueInstructionIntoPHI(PHINode &PN) | llvm::InstCombinerImpl | |
foldPHIArgIntToPtrToPHI(PHINode &PN) | llvm::InstCombinerImpl | |
foldPHIArgLoadIntoPHI(PHINode &PN) | llvm::InstCombinerImpl | |
foldPHIArgOpIntoPHI(PHINode &PN) | llvm::InstCombinerImpl | |
foldPHIArgZextsIntoPHI(PHINode &PN) | llvm::InstCombinerImpl | |
foldPowiReassoc(BinaryOperator &I) | llvm::InstCombinerImpl | |
foldSelectEqualityTest(SelectInst &SI) | llvm::InstCombinerImpl | |
foldSelectExtConst(SelectInst &Sel) | llvm::InstCombinerImpl | |
foldSelectICmp(CmpPredicate Pred, SelectInst *SI, Value *RHS, const ICmpInst &I) | llvm::InstCombinerImpl | |
foldSelectInstWithICmp(SelectInst &SI, ICmpInst *ICI) | llvm::InstCombinerImpl | |
foldSelectIntoOp(SelectInst &SI, Value *, Value *) | llvm::InstCombinerImpl | |
foldSelectOfBools(SelectInst &SI) | llvm::InstCombinerImpl | |
foldSelectOpOp(SelectInst &SI, Instruction *TI, Instruction *FI) | llvm::InstCombinerImpl | |
foldSelectShuffle(ShuffleVectorInst &Shuf) | llvm::InstCombinerImpl | |
foldSelectToCmp(SelectInst &SI) | llvm::InstCombinerImpl | |
foldSelectValueEquivalence(SelectInst &SI, CmpInst &CI) | llvm::InstCombinerImpl | |
FoldShiftByConstant(Value *Op0, Constant *Op1, BinaryOperator &I) | llvm::InstCombinerImpl | |
foldSignBitTest(ICmpInst &I) | llvm::InstCombinerImpl | |
foldSPFofSPF(Instruction *Inner, SelectPatternFlavor SPF1, Value *A, Value *B, Instruction &Outer, SelectPatternFlavor SPF2, Value *C) | llvm::InstCombinerImpl | |
foldSquareSumFP(BinaryOperator &I) | llvm::InstCombinerImpl | |
foldSquareSumInt(BinaryOperator &I) | llvm::InstCombinerImpl | |
foldUsingDistributiveLaws(BinaryOperator &I) | llvm::InstCombinerImpl | |
foldVariableSignZeroExtensionOfVariableHighBitExtract(BinaryOperator &OldAShr) | llvm::InstCombinerImpl | |
foldVectorBinop(BinaryOperator &Inst) | llvm::InstCombinerImpl | |
foldVectorSelect(SelectInst &Sel) | llvm::InstCombinerImpl | |
freelyInvertAllUsersOf(Value *V, Value *IgnoredUser=nullptr) | llvm::InstCombinerImpl | |
freezeOtherUses(FreezeInst &FI) | llvm::InstCombinerImpl | |
getAssumptionCache() const | llvm::InstCombiner | inline |
getBlockFrequencyInfo() const | llvm::InstCombiner | inline |
getComplexity(Value *V) | llvm::InstCombiner | inlinestatic |
getDataLayout() const | llvm::InstCombiner | inline |
getDominatorTree() const | llvm::InstCombiner | inline |
getFlippedStrictnessPredicateAndConstant(CmpPredicate Pred, Constant *C) | llvm::InstCombiner | static |
getFreelyInverted(Value *V, bool WillInvertAllUses, BuilderTy *Builder, bool &DoesConsume) | llvm::InstCombiner | inline |
getFreelyInverted(Value *V, bool WillInvertAllUses, BuilderTy *Builder) | llvm::InstCombiner | inline |
getFreelyInvertedImpl(Value *V, bool WillInvertAllUses, BuilderTy *Builder, bool &DoesConsume, unsigned Depth) | llvm::InstCombiner | |
getLosslessSignedTrunc(Constant *C, Type *TruncTy) | llvm::InstCombinerImpl | inline |
getLosslessTrunc(Constant *C, Type *TruncTy, unsigned ExtOp) | llvm::InstCombinerImpl | inline |
getLosslessUnsignedTrunc(Constant *C, Type *TruncTy) | llvm::InstCombinerImpl | inline |
getOptimizationRemarkEmitter() const | llvm::InstCombiner | inline |
getProfileSummaryInfo() const | llvm::InstCombiner | inline |
getSafeVectorConstantForBinop(BinaryOperator::BinaryOps Opcode, Constant *In, bool IsRHSConstant) | llvm::InstCombiner | inlinestatic |
getSimplifyQuery() const | llvm::InstCombiner | inline |
getTargetLibraryInfo() const | llvm::InstCombiner | inline |
handlePotentiallyDeadBlocks(SmallVectorImpl< BasicBlock * > &Worklist) | llvm::InstCombinerImpl | |
handlePotentiallyDeadSuccessors(BasicBlock *BB, BasicBlock *LiveSucc) | llvm::InstCombinerImpl | |
handleUnreachableFrom(Instruction *I, SmallVectorImpl< BasicBlock * > &Worklist) | llvm::InstCombinerImpl | |
InsertNewInstBefore(Instruction *New, BasicBlock::iterator Old) | llvm::InstCombiner | inline |
InsertNewInstWith(Instruction *New, BasicBlock::iterator Old) | llvm::InstCombiner | inline |
insertRangeTest(Value *V, const APInt &Lo, const APInt &Hi, bool isSigned, bool Inside) | llvm::InstCombinerImpl | |
InstCombiner(InstructionWorklist &Worklist, BuilderTy &Builder, bool MinimizeSize, AAResults *AA, AssumptionCache &AC, TargetLibraryInfo &TLI, TargetTransformInfo &TTI, DominatorTree &DT, OptimizationRemarkEmitter &ORE, BlockFrequencyInfo *BFI, BranchProbabilityInfo *BPI, ProfileSummaryInfo *PSI, const DataLayout &DL, ReversePostOrderTraversal< BasicBlock * > &RPOT) | llvm::InstCombiner | inline |
InstCombinerImpl(InstructionWorklist &Worklist, BuilderTy &Builder, bool MinimizeSize, AAResults *AA, AssumptionCache &AC, TargetLibraryInfo &TLI, TargetTransformInfo &TTI, DominatorTree &DT, OptimizationRemarkEmitter &ORE, BlockFrequencyInfo *BFI, BranchProbabilityInfo *BPI, ProfileSummaryInfo *PSI, const DataLayout &DL, ReversePostOrderTraversal< BasicBlock * > &RPOT) | llvm::InstCombinerImpl | inline |
isBackEdge(const BasicBlock *From, const BasicBlock *To) | llvm::InstCombiner | inline |
isCanonicalPredicate(CmpPredicate Pred) | llvm::InstCombiner | inlinestatic |
isFreeToInvert(Value *V, bool WillInvertAllUses, bool &DoesConsume) | llvm::InstCombiner | inline |
isFreeToInvert(Value *V, bool WillInvertAllUses) | llvm::InstCombiner | inline |
isKnownToBeAPowerOfTwo(const Value *V, bool OrZero=false, unsigned Depth=0, const Instruction *CxtI=nullptr) | llvm::InstCombiner | inline |
isValidAddrSpaceCast(unsigned FromAS, unsigned ToAS) const | llvm::InstCombiner | |
MadeIRChange | llvm::InstCombiner | protected |
MaskedValueIsZero(const Value *V, const APInt &Mask, unsigned Depth=0, const Instruction *CxtI=nullptr) const | llvm::InstCombiner | inline |
matchBSwapOrBitReverse(Instruction &I, bool MatchBSwaps, bool MatchBitReversals) | llvm::InstCombinerImpl | |
matchThreeWayIntCompare(SelectInst *SI, Value *&LHS, Value *&RHS, ConstantInt *&Less, ConstantInt *&Equal, ConstantInt *&Greater) | llvm::InstCombinerImpl | |
MaxArraySizeForCombine | llvm::InstCombiner | |
mergeStoreIntoSuccessor(StoreInst &SI) | llvm::InstCombinerImpl | |
MinimizeSize | llvm::InstCombiner | protected |
OptimizePointerDifference(Value *LHS, Value *RHS, Type *Ty, bool isNUW) | llvm::InstCombinerImpl | |
ORE | llvm::InstCombiner | protected |
peekThroughBitcast(Value *V, bool OneUseOnly=false) | llvm::InstCombiner | inlinestatic |
PHIArgMergedDebugLoc(Instruction *Inst, PHINode &PN) | llvm::InstCombinerImpl | |
PredOrder | llvm::InstCombiner | protected |
prepareWorklist(Function &F) | llvm::InstCombinerImpl | |
PSI | llvm::InstCombiner | protected |
pushFreezeToPreventPoisonFromPropagating(FreezeInst &FI) | llvm::InstCombinerImpl | |
reassociateShiftAmtsOfTwoSameDirectionShifts(BinaryOperator *Sh0, const SimplifyQuery &SQ, bool AnalyzeForSignBitExtraction=false) | llvm::InstCombinerImpl | |
removeInstructionsBeforeUnreachable(Instruction &I) | llvm::InstCombinerImpl | |
replacedSelectWithOperand(SelectInst *SI, const ICmpInst *Icmp, const unsigned SIOpd) | llvm::InstCombinerImpl | |
replaceInInstruction(Value *V, Value *Old, Value *New, unsigned Depth=0) | llvm::InstCombinerImpl | |
replaceInstUsesWith(Instruction &I, Value *V) | llvm::InstCombiner | inline |
replaceOperand(Instruction &I, unsigned OpNum, Value *V) | llvm::InstCombiner | inline |
replaceUse(Use &U, Value *NewValue) | llvm::InstCombiner | inline |
RPOT | llvm::InstCombiner | protected |
run() | llvm::InstCombinerImpl | |
shouldAvoidAbsorbingNotIntoSelect(const SelectInst &SI) | llvm::InstCombiner | inlinestatic |
SimplifyAddWithRemainder(BinaryOperator &I) | llvm::InstCombinerImpl | |
SimplifyAnyMemSet(AnyMemSetInst *MI) | llvm::InstCombinerImpl | |
SimplifyAnyMemTransfer(AnyMemTransferInst *MI) | llvm::InstCombinerImpl | |
SimplifyAssociativeOrCommutative(BinaryOperator &I) | llvm::InstCombinerImpl | |
simplifyBinOpSplats(ShuffleVectorInst &SVI) | llvm::InstCombinerImpl | |
SimplifyDemandedBits(Instruction *I, unsigned Op, const APInt &DemandedMask, KnownBits &Known, unsigned Depth, const SimplifyQuery &Q) override | llvm::InstCombinerImpl | virtual |
SimplifyDemandedBits(Instruction *I, unsigned OpNo, const APInt &DemandedMask, KnownBits &Known, unsigned Depth, const SimplifyQuery &Q)=0 | llvm::InstCombinerImpl | virtual |
SimplifyDemandedBits(Instruction *I, unsigned OpNo, const APInt &DemandedMask, KnownBits &Known) | llvm::InstCombinerImpl | inline |
SimplifyDemandedFPClass(Instruction *I, unsigned Op, FPClassTest DemandedMask, KnownFPClass &Known, unsigned Depth=0) | llvm::InstCombinerImpl | |
SimplifyDemandedInstructionBits(Instruction &Inst) | llvm::InstCombinerImpl | |
SimplifyDemandedInstructionBits(Instruction &Inst, KnownBits &Known) | llvm::InstCombinerImpl | |
SimplifyDemandedUseBits(Instruction *I, const APInt &DemandedMask, KnownBits &Known, unsigned Depth, const SimplifyQuery &Q) | llvm::InstCombinerImpl | |
SimplifyDemandedUseFPClass(Value *V, FPClassTest DemandedMask, KnownFPClass &Known, unsigned Depth, Instruction *CxtI) | llvm::InstCombinerImpl | |
SimplifyDemandedVectorElts(Value *V, APInt DemandedElts, APInt &PoisonElts, unsigned Depth=0, bool AllowMultipleUsers=false) override | llvm::InstCombinerImpl | virtual |
simplifyDivRemOfSelectWithZeroOp(BinaryOperator &I) | llvm::InstCombinerImpl | |
SimplifyMultipleUseDemandedBits(Instruction *I, const APInt &DemandedMask, KnownBits &Known, unsigned Depth, const SimplifyQuery &Q) | llvm::InstCombinerImpl | |
simplifyRangeCheck(ICmpInst *Cmp0, ICmpInst *Cmp1, bool Inverted) | llvm::InstCombinerImpl | |
SimplifySelectsFeedingBinaryOp(BinaryOperator &I, Value *LHS, Value *RHS) | llvm::InstCombinerImpl | |
simplifyShrShlDemandedBits(Instruction *Shr, const APInt &ShrOp1, Instruction *Shl, const APInt &ShlOp1, const APInt &DemandedMask, KnownBits &Known) | llvm::InstCombinerImpl | |
sinkNotIntoLogicalOp(Instruction &I) | llvm::InstCombinerImpl | |
sinkNotIntoOtherHandOfLogicalOp(Instruction &I) | llvm::InstCombinerImpl | |
SliceUpIllegalIntegerPHI(PHINode &PN) | llvm::InstCombinerImpl | |
SQ | llvm::InstCombiner | protected |
SubOne(Constant *C) | llvm::InstCombiner | inlinestatic |
targetInstCombineIntrinsic(IntrinsicInst &II) | llvm::InstCombiner | |
targetSimplifyDemandedUseBitsIntrinsic(IntrinsicInst &II, APInt DemandedMask, KnownBits &Known, bool &KnownBitsComputed) | llvm::InstCombiner | |
targetSimplifyDemandedVectorEltsIntrinsic(IntrinsicInst &II, APInt DemandedElts, APInt &UndefElts, APInt &UndefElts2, APInt &UndefElts3, std::function< void(Instruction *, unsigned, APInt, APInt &)> SimplifyAndSetOp) | llvm::InstCombiner | |
TLI | llvm::InstCombiner | protected |
tryFactorizationFolds(BinaryOperator &I) | llvm::InstCombinerImpl | |
tryFoldInstWithCtpopWithNot(Instruction *I) | llvm::InstCombinerImpl | |
tryToSinkInstruction(Instruction *I, BasicBlock *DestBlock) | llvm::InstCombinerImpl | |
tryToSinkInstructionDbgValues(Instruction *I, BasicBlock::iterator InsertPos, BasicBlock *SrcBlock, BasicBlock *DestBlock, SmallVectorImpl< DbgVariableIntrinsic * > &DbgUsers) | llvm::InstCombinerImpl | |
tryToSinkInstructionDbgVariableRecords(Instruction *I, BasicBlock::iterator InsertPos, BasicBlock *SrcBlock, BasicBlock *DestBlock, SmallVectorImpl< DbgVariableRecord * > &DPUsers) | llvm::InstCombinerImpl | |
visit(Iterator Start, Iterator End) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visit(Module &M) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visit(Function &F) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visit(BasicBlock &BB) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visit(Module *M) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visit(Function *F) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visit(BasicBlock *BB) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visit(Instruction *I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visit(Instruction &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitAdd(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitAddrSpaceCast(AddrSpaceCastInst &CI) | llvm::InstCombinerImpl | |
visitAddrSpaceCastInst(AddrSpaceCastInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitAllocaInst(AllocaInst &AI) | llvm::InstCombinerImpl | |
visitAllocSite(Instruction &FI) | llvm::InstCombinerImpl | |
visitAnd(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitAShr(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitAtomicCmpXchgInst(AtomicCmpXchgInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitAtomicRMWInst(AtomicRMWInst &SI) | llvm::InstCombinerImpl | |
visitBasicBlock(BasicBlock &BB) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitBinaryOperator(BinaryOperator &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitBitCast(BitCastInst &CI) | llvm::InstCombinerImpl | |
visitBitCastInst(BitCastInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitBranchInst(BranchInst &BI) | llvm::InstCombinerImpl | |
visitCallBrInst(CallBrInst &CBI) | llvm::InstCombinerImpl | |
visitCallInst(CallInst &CI) | llvm::InstCombinerImpl | |
visitCastInst(CastInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitCatchPadInst(CatchPadInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitCatchReturnInst(CatchReturnInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitCatchSwitchInst(CatchSwitchInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitCleanupPadInst(CleanupPadInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitCleanupReturnInst(CleanupReturnInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitCmpInst(CmpInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitDbgDeclareInst(DbgDeclareInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitDbgInfoIntrinsic(DbgInfoIntrinsic &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitDbgLabelInst(DbgLabelInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitDbgValueInst(DbgValueInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitDbgVariableIntrinsic(DbgVariableIntrinsic &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitExtractElementInst(ExtractElementInst &EI) | llvm::InstCombinerImpl | |
visitExtractValueInst(ExtractValueInst &EV) | llvm::InstCombinerImpl | |
visitFAdd(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitFCmpInst(FCmpInst &I) | llvm::InstCombinerImpl | |
visitFDiv(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitFenceInst(FenceInst &FI) | llvm::InstCombinerImpl | |
visitFMul(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitFNeg(UnaryOperator &I) | llvm::InstCombinerImpl | |
visitFPExt(CastInst &CI) | llvm::InstCombinerImpl | |
visitFPExtInst(FPExtInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitFPToSI(FPToSIInst &FI) | llvm::InstCombinerImpl | |
visitFPToSIInst(FPToSIInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitFPToUI(FPToUIInst &FI) | llvm::InstCombinerImpl | |
visitFPToUIInst(FPToUIInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitFPTrunc(FPTruncInst &CI) | llvm::InstCombinerImpl | |
visitFPTruncInst(FPTruncInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitFree(CallInst &FI, Value *FreedOp) | llvm::InstCombinerImpl | |
visitFreeze(FreezeInst &I) | llvm::InstCombinerImpl | |
visitFreezeInst(FreezeInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitFRem(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitFSub(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitFuncletPadInst(FuncletPadInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitFunction(Function &F) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitGEPOfGEP(GetElementPtrInst &GEP, GEPOperator *Src) | llvm::InstCombinerImpl | |
visitGetElementPtrInst(GetElementPtrInst &GEP) | llvm::InstCombinerImpl | |
visitICmpInst(ICmpInst &I) | llvm::InstCombinerImpl | |
visitIndirectBrInst(IndirectBrInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitInsertElementInst(InsertElementInst &IE) | llvm::InstCombinerImpl | |
visitInsertValueInst(InsertValueInst &IV) | llvm::InstCombinerImpl | |
visitInstruction(Instruction &I) | llvm::InstCombinerImpl | inline |
visitIntrinsicInst(IntrinsicInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitIntToPtr(IntToPtrInst &CI) | llvm::InstCombinerImpl | |
visitIntToPtrInst(IntToPtrInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitInvokeInst(InvokeInst &II) | llvm::InstCombinerImpl | |
visitLandingPadInst(LandingPadInst &LI) | llvm::InstCombinerImpl | |
visitLoadInst(LoadInst &LI) | llvm::InstCombinerImpl | |
visitLShr(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitMemCpyInlineInst(MemCpyInlineInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitMemCpyInst(MemCpyInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitMemIntrinsic(MemIntrinsic &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitMemMoveInst(MemMoveInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitMemSetInlineInst(MemSetInlineInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitMemSetInst(MemSetInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitMemSetPatternInst(MemSetPatternInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitMemTransferInst(MemTransferInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitModule(Module &M) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitMul(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitOr(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitPHINode(PHINode &PN) | llvm::InstCombinerImpl | |
visitPtrToInt(PtrToIntInst &CI) | llvm::InstCombinerImpl | |
visitPtrToIntInst(PtrToIntInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitResumeInst(ResumeInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitReturnInst(ReturnInst &RI) | llvm::InstCombinerImpl | |
visitSDiv(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitSelectInst(SelectInst &SI) | llvm::InstCombinerImpl | |
visitSExt(SExtInst &Sext) | llvm::InstCombinerImpl | |
visitSExtInst(SExtInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitShl(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitShuffleVectorInst(ShuffleVectorInst &SVI) | llvm::InstCombinerImpl | |
visitSIToFP(CastInst &CI) | llvm::InstCombinerImpl | |
visitSIToFPInst(SIToFPInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitSRem(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitStoreInst(StoreInst &SI) | llvm::InstCombinerImpl | |
visitSub(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitSwitchInst(SwitchInst &SI) | llvm::InstCombinerImpl | |
visitTerminator(Instruction &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitTrunc(TruncInst &CI) | llvm::InstCombinerImpl | |
visitTruncInst(TruncInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitUDiv(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitUIToFP(CastInst &CI) | llvm::InstCombinerImpl | |
visitUIToFPInst(UIToFPInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitUnaryInstruction(UnaryInstruction &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitUnaryOperator(UnaryOperator &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitUnconditionalBranchInst(BranchInst &BI) | llvm::InstCombinerImpl | |
visitUnreachableInst(UnreachableInst &I) | llvm::InstCombinerImpl | |
visitURem(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitVAArgInst(VAArgInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitVACopyInst(VACopyInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitVAEndInst(VAEndInst &I) | llvm::InstCombinerImpl | |
visitVAStartInst(VAStartInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
visitXor(BinaryOperator &I) | llvm::InstCombinerImpl | |
visitZExt(ZExtInst &Zext) | llvm::InstCombinerImpl | |
visitZExtInst(ZExtInst &I) | llvm::InstVisitor< InstCombinerImpl, Instruction * > | inline |
Worklist | llvm::InstCombiner | protected |
~InstCombiner()=default | llvm::InstCombiner | virtual |
~InstCombinerImpl()=default | llvm::InstCombinerImpl | virtual |