LLVM 20.0.0git
llvm::InstCombinerImpl Member List

This is the complete list of members for llvm::InstCombinerImpl, including all inherited members.

AAllvm::InstCombinerprotected
ACllvm::InstCombinerprotected
addDeadEdge(BasicBlock *From, BasicBlock *To, SmallVectorImpl< BasicBlock * > &Worklist)llvm::InstCombinerImpl
AddOne(Constant *C)llvm::InstCombinerinlinestatic
addToWorklist(Instruction *I)llvm::InstCombinerinline
BackEdgesllvm::InstCombinerprotected
BFIllvm::InstCombinerprotected
BPIllvm::InstCombinerprotected
Builderllvm::InstCombiner
BuilderTy typedefllvm::InstCombiner
canFreelyInvertAllUsersOf(Instruction *V, Value *IgnoredUser)llvm::InstCombinerinline
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
ComputedBackEdgesllvm::InstCombinerprotected
computeKnownBits(const Value *V, KnownBits &Known, unsigned Depth, const Instruction *CxtI) constllvm::InstCombinerinline
computeKnownBits(const Value *V, unsigned Depth, const Instruction *CxtI) constllvm::InstCombinerinline
computeKnownFPClass(Value *Val, FastMathFlags FMF, FPClassTest Interested=fcAllFlags, const Instruction *CtxI=nullptr, unsigned Depth=0) constllvm::InstCombinerImplinline
computeKnownFPClass(Value *Val, FPClassTest Interested=fcAllFlags, const Instruction *CtxI=nullptr, unsigned Depth=0) constllvm::InstCombinerImplinline
ComputeMaxSignificantBits(const Value *Op, unsigned Depth=0, const Instruction *CxtI=nullptr) constllvm::InstCombinerinline
ComputeNumSignBits(const Value *Op, unsigned Depth=0, const Instruction *CxtI=nullptr) constllvm::InstCombinerinline
computeOverflow(Instruction::BinaryOps BinaryOp, bool IsSigned, Value *LHS, Value *RHS, Instruction *CxtI) constllvm::InstCombinerImpl
computeOverflowForSignedAdd(const WithCache< const Value * > &LHS, const WithCache< const Value * > &RHS, const Instruction *CxtI) constllvm::InstCombinerinline
computeOverflowForSignedMul(const Value *LHS, const Value *RHS, const Instruction *CxtI) constllvm::InstCombinerinline
computeOverflowForSignedSub(const Value *LHS, const Value *RHS, const Instruction *CxtI) constllvm::InstCombinerinline
computeOverflowForUnsignedAdd(const WithCache< const Value * > &LHS, const WithCache< const Value * > &RHS, const Instruction *CxtI) constllvm::InstCombinerinline
computeOverflowForUnsignedMul(const Value *LHS, const Value *RHS, const Instruction *CxtI, bool IsNSW=false) constllvm::InstCombinerinline
computeOverflowForUnsignedSub(const Value *LHS, const Value *RHS, const Instruction *CxtI) constllvm::InstCombinerinline
convertOrOfShiftsToFunnelShift(Instruction &Or)llvm::InstCombinerImpl
CreateNonTerminatorUnreachable(Instruction *InsertAt)llvm::InstCombinerImplinline
DCllvm::InstCombinerprotected
DeadEdgesllvm::InstCombinerprotected
DLllvm::InstCombinerprotected
dominatesAllUses(const Instruction *DI, const Instruction *UI, const BasicBlock *DB) constllvm::InstCombinerImpl
DTllvm::InstCombinerprotected
eraseInstFromFunction(Instruction &I) overridellvm::InstCombinerImplinlinevirtual
EvaluateInDifferentType(Value *V, Type *Ty, bool isSigned)llvm::InstCombinerImpl
fmulByZeroIsZero(Value *MulVal, FastMathFlags FMF, const Instruction *CtxI) constllvm::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() constllvm::InstCombinerinline
getBlockFrequencyInfo() constllvm::InstCombinerinline
getComplexity(Value *V)llvm::InstCombinerinlinestatic
getDataLayout() constllvm::InstCombinerinline
getDominatorTree() constllvm::InstCombinerinline
getFlippedStrictnessPredicateAndConstant(CmpPredicate Pred, Constant *C)llvm::InstCombinerstatic
getFreelyInverted(Value *V, bool WillInvertAllUses, BuilderTy *Builder, bool &DoesConsume)llvm::InstCombinerinline
getFreelyInverted(Value *V, bool WillInvertAllUses, BuilderTy *Builder)llvm::InstCombinerinline
getFreelyInvertedImpl(Value *V, bool WillInvertAllUses, BuilderTy *Builder, bool &DoesConsume, unsigned Depth)llvm::InstCombiner
getLosslessSignedTrunc(Constant *C, Type *TruncTy)llvm::InstCombinerImplinline
getLosslessTrunc(Constant *C, Type *TruncTy, unsigned ExtOp)llvm::InstCombinerImplinline
getLosslessUnsignedTrunc(Constant *C, Type *TruncTy)llvm::InstCombinerImplinline
getOptimizationRemarkEmitter() constllvm::InstCombinerinline
getProfileSummaryInfo() constllvm::InstCombinerinline
getSafeVectorConstantForBinop(BinaryOperator::BinaryOps Opcode, Constant *In, bool IsRHSConstant)llvm::InstCombinerinlinestatic
getSimplifyQuery() constllvm::InstCombinerinline
getTargetLibraryInfo() constllvm::InstCombinerinline
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::InstCombinerinline
InsertNewInstWith(Instruction *New, BasicBlock::iterator Old)llvm::InstCombinerinline
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::InstCombinerinline
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::InstCombinerImplinline
isBackEdge(const BasicBlock *From, const BasicBlock *To)llvm::InstCombinerinline
isCanonicalPredicate(CmpPredicate Pred)llvm::InstCombinerinlinestatic
isFreeToInvert(Value *V, bool WillInvertAllUses, bool &DoesConsume)llvm::InstCombinerinline
isFreeToInvert(Value *V, bool WillInvertAllUses)llvm::InstCombinerinline
isKnownToBeAPowerOfTwo(const Value *V, bool OrZero=false, unsigned Depth=0, const Instruction *CxtI=nullptr)llvm::InstCombinerinline
isValidAddrSpaceCast(unsigned FromAS, unsigned ToAS) constllvm::InstCombiner
MadeIRChangellvm::InstCombinerprotected
MaskedValueIsZero(const Value *V, const APInt &Mask, unsigned Depth=0, const Instruction *CxtI=nullptr) constllvm::InstCombinerinline
matchBSwapOrBitReverse(Instruction &I, bool MatchBSwaps, bool MatchBitReversals)llvm::InstCombinerImpl
matchThreeWayIntCompare(SelectInst *SI, Value *&LHS, Value *&RHS, ConstantInt *&Less, ConstantInt *&Equal, ConstantInt *&Greater)llvm::InstCombinerImpl
MaxArraySizeForCombinellvm::InstCombiner
mergeStoreIntoSuccessor(StoreInst &SI)llvm::InstCombinerImpl
MinimizeSizellvm::InstCombinerprotected
OptimizePointerDifference(Value *LHS, Value *RHS, Type *Ty, bool isNUW)llvm::InstCombinerImpl
OREllvm::InstCombinerprotected
peekThroughBitcast(Value *V, bool OneUseOnly=false)llvm::InstCombinerinlinestatic
PHIArgMergedDebugLoc(Instruction *Inst, PHINode &PN)llvm::InstCombinerImpl
PredOrderllvm::InstCombinerprotected
prepareWorklist(Function &F)llvm::InstCombinerImpl
PSIllvm::InstCombinerprotected
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::InstCombinerinline
replaceOperand(Instruction &I, unsigned OpNum, Value *V)llvm::InstCombinerinline
replaceUse(Use &U, Value *NewValue)llvm::InstCombinerinline
RPOTllvm::InstCombinerprotected
run()llvm::InstCombinerImpl
shouldAvoidAbsorbingNotIntoSelect(const SelectInst &SI)llvm::InstCombinerinlinestatic
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) overridellvm::InstCombinerImplvirtual
SimplifyDemandedBits(Instruction *I, unsigned OpNo, const APInt &DemandedMask, KnownBits &Known, unsigned Depth, const SimplifyQuery &Q)=0llvm::InstCombinerImplvirtual
SimplifyDemandedBits(Instruction *I, unsigned OpNo, const APInt &DemandedMask, KnownBits &Known)llvm::InstCombinerImplinline
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) overridellvm::InstCombinerImplvirtual
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
SQllvm::InstCombinerprotected
SubOne(Constant *C)llvm::InstCombinerinlinestatic
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
TLIllvm::InstCombinerprotected
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::InstCombinerImplinline
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
Worklistllvm::InstCombinerprotected
~InstCombiner()=defaultllvm::InstCombinervirtual
~InstCombinerImpl()=defaultllvm::InstCombinerImplvirtual