LLVM 20.0.0git
|
This is the complete list of members for llvm::ScalarEvolution, including all inherited members.
applyLoopGuards(const SCEV *Expr, const Loop *L) | llvm::ScalarEvolution | |
applyLoopGuards(const SCEV *Expr, const LoopGuards &Guards) | llvm::ScalarEvolution | |
BlockDisposition enum name | llvm::ScalarEvolution | |
canReuseInstruction(const SCEV *S, Instruction *I, SmallVectorImpl< Instruction * > &DropPoisonGeneratingInsts) | llvm::ScalarEvolution | |
clearFlags(SCEV::NoWrapFlags Flags, SCEV::NoWrapFlags OffFlags) | llvm::ScalarEvolution | inlinestatic |
computeConstantDifference(const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
computeExitLimitFromCond(const Loop *L, Value *ExitCond, bool ExitIfTrue, bool ControlsOnlyExit, bool AllowPredicates=false) | llvm::ScalarEvolution | |
ConstantMaximum enum value | llvm::ScalarEvolution | |
containsAddRecurrence(const SCEV *S) | llvm::ScalarEvolution | |
containsErasedValue(const SCEV *S) const | llvm::ScalarEvolution | |
containsUndefs(const SCEV *S) const | llvm::ScalarEvolution | |
convertSCEVToAddRecWithPredicates(const SCEV *S, const Loop *L, SmallPtrSetImpl< const SCEVPredicate * > &Preds) | llvm::ScalarEvolution | |
createAddRecFromPHIWithCasts(const SCEVUnknown *SymbolicPHI) | llvm::ScalarEvolution | |
DoesNotDominateBlock enum value | llvm::ScalarEvolution | |
dominates(const SCEV *S, const BasicBlock *BB) | llvm::ScalarEvolution | |
DominatesBlock enum value | llvm::ScalarEvolution | |
evaluatePredicate(ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
evaluatePredicateAt(ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS, const Instruction *CtxI) | llvm::ScalarEvolution | |
Exact enum value | llvm::ScalarEvolution | |
ExitCountKind enum name | llvm::ScalarEvolution | |
forgetAllLoops() | llvm::ScalarEvolution | |
forgetBlockAndLoopDispositions(Value *V=nullptr) | llvm::ScalarEvolution | |
forgetLcssaPhiWithNewPredecessor(Loop *L, PHINode *V) | llvm::ScalarEvolution | |
forgetLoop(const Loop *L) | llvm::ScalarEvolution | |
forgetLoopDispositions() | llvm::ScalarEvolution | |
forgetTopmostLoop(const Loop *L) | llvm::ScalarEvolution | |
forgetValue(Value *V) | llvm::ScalarEvolution | |
getAbsExpr(const SCEV *Op, bool IsNSW) | llvm::ScalarEvolution | |
getAddExpr(SmallVectorImpl< const SCEV * > &Ops, SCEV::NoWrapFlags Flags=SCEV::FlagAnyWrap, unsigned Depth=0) | llvm::ScalarEvolution | |
getAddExpr(const SCEV *LHS, const SCEV *RHS, SCEV::NoWrapFlags Flags=SCEV::FlagAnyWrap, unsigned Depth=0) | llvm::ScalarEvolution | inline |
getAddExpr(const SCEV *Op0, const SCEV *Op1, const SCEV *Op2, SCEV::NoWrapFlags Flags=SCEV::FlagAnyWrap, unsigned Depth=0) | llvm::ScalarEvolution | inline |
getAddRecExpr(const SCEV *Start, const SCEV *Step, const Loop *L, SCEV::NoWrapFlags Flags) | llvm::ScalarEvolution | |
getAddRecExpr(SmallVectorImpl< const SCEV * > &Operands, const Loop *L, SCEV::NoWrapFlags Flags) | llvm::ScalarEvolution | |
getAddRecExpr(const SmallVectorImpl< const SCEV * > &Operands, const Loop *L, SCEV::NoWrapFlags Flags) | llvm::ScalarEvolution | inline |
getAnyExtendExpr(const SCEV *Op, Type *Ty) | llvm::ScalarEvolution | |
getBackedgeTakenCount(const Loop *L, ExitCountKind Kind=Exact) | llvm::ScalarEvolution | |
getBlockDisposition(const SCEV *S, const BasicBlock *BB) | llvm::ScalarEvolution | |
getCastExpr(SCEVTypes Kind, const SCEV *Op, Type *Ty) | llvm::ScalarEvolution | |
getComparePredicate(ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
getConstant(ConstantInt *V) | llvm::ScalarEvolution | |
getConstant(const APInt &Val) | llvm::ScalarEvolution | |
getConstant(Type *Ty, uint64_t V, bool isSigned=false) | llvm::ScalarEvolution | |
getConstantMaxBackedgeTakenCount(const Loop *L) | llvm::ScalarEvolution | inline |
getConstantMultiple(const SCEV *S) | llvm::ScalarEvolution | |
getContext() const | llvm::ScalarEvolution | inline |
getCouldNotCompute() | llvm::ScalarEvolution | |
getDataLayout() const | llvm::ScalarEvolution | inline |
getEffectiveSCEVType(Type *Ty) const | llvm::ScalarEvolution | |
getElementCount(Type *Ty, ElementCount EC) | llvm::ScalarEvolution | |
getElementSize(Instruction *Inst) | llvm::ScalarEvolution | |
getEqualPredicate(const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
getExistingSCEV(Value *V) | llvm::ScalarEvolution | |
getExitCount(const Loop *L, const BasicBlock *ExitingBlock, ExitCountKind Kind=Exact) | llvm::ScalarEvolution | |
getGEPExpr(GEPOperator *GEP, const SmallVectorImpl< const SCEV * > &IndexExprs) | llvm::ScalarEvolution | |
getLoopDisposition(const SCEV *S, const Loop *L) | llvm::ScalarEvolution | |
getLoopInvariantExitCondDuringFirstIterations(ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS, const Loop *L, const Instruction *CtxI, const SCEV *MaxIter) | llvm::ScalarEvolution | |
getLoopInvariantExitCondDuringFirstIterationsImpl(ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS, const Loop *L, const Instruction *CtxI, const SCEV *MaxIter) | llvm::ScalarEvolution | |
getLoopInvariantPredicate(ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS, const Loop *L, const Instruction *CtxI=nullptr) | llvm::ScalarEvolution | |
getLosslessPtrToIntExpr(const SCEV *Op, unsigned Depth=0) | llvm::ScalarEvolution | |
getMinMaxExpr(SCEVTypes Kind, SmallVectorImpl< const SCEV * > &Operands) | llvm::ScalarEvolution | |
getMinTrailingZeros(const SCEV *S) | llvm::ScalarEvolution | |
getMinusOne(Type *Ty) | llvm::ScalarEvolution | inline |
getMinusSCEV(const SCEV *LHS, const SCEV *RHS, SCEV::NoWrapFlags Flags=SCEV::FlagAnyWrap, unsigned Depth=0) | llvm::ScalarEvolution | |
getMonotonicPredicateType(const SCEVAddRecExpr *LHS, ICmpInst::Predicate Pred) | llvm::ScalarEvolution | |
getMulExpr(SmallVectorImpl< const SCEV * > &Ops, SCEV::NoWrapFlags Flags=SCEV::FlagAnyWrap, unsigned Depth=0) | llvm::ScalarEvolution | |
getMulExpr(const SCEV *LHS, const SCEV *RHS, SCEV::NoWrapFlags Flags=SCEV::FlagAnyWrap, unsigned Depth=0) | llvm::ScalarEvolution | inline |
getMulExpr(const SCEV *Op0, const SCEV *Op1, const SCEV *Op2, SCEV::NoWrapFlags Flags=SCEV::FlagAnyWrap, unsigned Depth=0) | llvm::ScalarEvolution | inline |
getNegativeSCEV(const SCEV *V, SCEV::NoWrapFlags Flags=SCEV::FlagAnyWrap) | llvm::ScalarEvolution | |
getNonZeroConstantMultiple(const SCEV *S) | llvm::ScalarEvolution | |
getNoopOrAnyExtend(const SCEV *V, Type *Ty) | llvm::ScalarEvolution | |
getNoopOrSignExtend(const SCEV *V, Type *Ty) | llvm::ScalarEvolution | |
getNoopOrZeroExtend(const SCEV *V, Type *Ty) | llvm::ScalarEvolution | |
getNotSCEV(const SCEV *V) | llvm::ScalarEvolution | |
getOffsetOfExpr(Type *IntTy, StructType *STy, unsigned FieldNo) | llvm::ScalarEvolution | |
getOne(Type *Ty) | llvm::ScalarEvolution | inline |
getPointerBase(const SCEV *V) | llvm::ScalarEvolution | |
getPoisonGeneratingValues(SmallPtrSetImpl< const Value * > &Result, const SCEV *S) | llvm::ScalarEvolution | |
getPowerOfTwo(Type *Ty, unsigned Power) | llvm::ScalarEvolution | inline |
getPredicatedBackedgeTakenCount(const Loop *L, SmallVector< const SCEVPredicate *, 4 > &Predicates) | llvm::ScalarEvolution | |
getPredicatedSymbolicMaxBackedgeTakenCount(const Loop *L, SmallVector< const SCEVPredicate *, 4 > &Predicates) | llvm::ScalarEvolution | |
getPtrToIntExpr(const SCEV *Op, Type *Ty) | llvm::ScalarEvolution | |
getSCEV(Value *V) | llvm::ScalarEvolution | |
getSCEVAtScope(const SCEV *S, const Loop *L) | llvm::ScalarEvolution | |
getSCEVAtScope(Value *V, const Loop *L) | llvm::ScalarEvolution | |
getSequentialMinMaxExpr(SCEVTypes Kind, SmallVectorImpl< const SCEV * > &Operands) | llvm::ScalarEvolution | |
getSignedRange(const SCEV *S) | llvm::ScalarEvolution | inline |
getSignedRangeMax(const SCEV *S) | llvm::ScalarEvolution | inline |
getSignedRangeMin(const SCEV *S) | llvm::ScalarEvolution | inline |
getSignExtendExpr(const SCEV *Op, Type *Ty, unsigned Depth=0) | llvm::ScalarEvolution | |
getSignExtendExprImpl(const SCEV *Op, Type *Ty, unsigned Depth=0) | llvm::ScalarEvolution | |
getSizeOfExpr(Type *IntTy, TypeSize Size) | llvm::ScalarEvolution | |
getSizeOfExpr(Type *IntTy, Type *AllocTy) | llvm::ScalarEvolution | |
getSmallConstantMaxTripCount(const Loop *L) | llvm::ScalarEvolution | |
getSmallConstantTripCount(const Loop *L) | llvm::ScalarEvolution | |
getSmallConstantTripCount(const Loop *L, const BasicBlock *ExitingBlock) | llvm::ScalarEvolution | |
getSmallConstantTripMultiple(const Loop *L, const SCEV *ExitCount) | llvm::ScalarEvolution | |
getSmallConstantTripMultiple(const Loop *L) | llvm::ScalarEvolution | |
getSmallConstantTripMultiple(const Loop *L, const BasicBlock *ExitingBlock) | llvm::ScalarEvolution | |
getSMaxExpr(const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
getSMaxExpr(SmallVectorImpl< const SCEV * > &Operands) | llvm::ScalarEvolution | |
getSMinExpr(const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
getSMinExpr(SmallVectorImpl< const SCEV * > &Operands) | llvm::ScalarEvolution | |
getStoreSizeOfExpr(Type *IntTy, Type *StoreTy) | llvm::ScalarEvolution | |
getStrengthenedNoWrapFlagsFromBinOp(const OverflowingBinaryOperator *OBO) | llvm::ScalarEvolution | |
getSymbolicMaxBackedgeTakenCount(const Loop *L) | llvm::ScalarEvolution | inline |
getTripCountFromExitCount(const SCEV *ExitCount) | llvm::ScalarEvolution | |
getTripCountFromExitCount(const SCEV *ExitCount, Type *EvalTy, const Loop *L) | llvm::ScalarEvolution | |
getTruncateExpr(const SCEV *Op, Type *Ty, unsigned Depth=0) | llvm::ScalarEvolution | |
getTruncateOrNoop(const SCEV *V, Type *Ty) | llvm::ScalarEvolution | |
getTruncateOrSignExtend(const SCEV *V, Type *Ty, unsigned Depth=0) | llvm::ScalarEvolution | |
getTruncateOrZeroExtend(const SCEV *V, Type *Ty, unsigned Depth=0) | llvm::ScalarEvolution | |
getTypeSizeInBits(Type *Ty) const | llvm::ScalarEvolution | |
getUDivCeilSCEV(const SCEV *N, const SCEV *D) | llvm::ScalarEvolution | |
getUDivExactExpr(const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
getUDivExpr(const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
getUMaxExpr(const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
getUMaxExpr(SmallVectorImpl< const SCEV * > &Operands) | llvm::ScalarEvolution | |
getUMaxFromMismatchedTypes(const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
getUMinExpr(const SCEV *LHS, const SCEV *RHS, bool Sequential=false) | llvm::ScalarEvolution | |
getUMinExpr(SmallVectorImpl< const SCEV * > &Operands, bool Sequential=false) | llvm::ScalarEvolution | |
getUMinFromMismatchedTypes(const SCEV *LHS, const SCEV *RHS, bool Sequential=false) | llvm::ScalarEvolution | |
getUMinFromMismatchedTypes(SmallVectorImpl< const SCEV * > &Ops, bool Sequential=false) | llvm::ScalarEvolution | |
getUnknown(Value *V) | llvm::ScalarEvolution | |
getUnsignedRange(const SCEV *S) | llvm::ScalarEvolution | inline |
getUnsignedRangeMax(const SCEV *S) | llvm::ScalarEvolution | inline |
getUnsignedRangeMin(const SCEV *S) | llvm::ScalarEvolution | inline |
getURemExpr(const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
getVScale(Type *Ty) | llvm::ScalarEvolution | |
getWiderType(Type *Ty1, Type *Ty2) const | llvm::ScalarEvolution | |
getWrapPredicate(const SCEVAddRecExpr *AR, SCEVWrapPredicate::IncrementWrapFlags AddedFlags) | llvm::ScalarEvolution | |
getZero(Type *Ty) | llvm::ScalarEvolution | inline |
getZeroExtendExpr(const SCEV *Op, Type *Ty, unsigned Depth=0) | llvm::ScalarEvolution | |
getZeroExtendExprImpl(const SCEV *Op, Type *Ty, unsigned Depth=0) | llvm::ScalarEvolution | |
hasComputableLoopEvolution(const SCEV *S, const Loop *L) | llvm::ScalarEvolution | |
hasFlags(SCEV::NoWrapFlags Flags, SCEV::NoWrapFlags TestFlags) | llvm::ScalarEvolution | inlinestatic |
hasLoopInvariantBackedgeTakenCount(const Loop *L) | llvm::ScalarEvolution | |
hasOperand(const SCEV *S, const SCEV *Op) const | llvm::ScalarEvolution | |
instructionCouldExistWithOperands(const SCEV *A, const SCEV *B) | llvm::ScalarEvolution | |
invalidate(Function &F, const PreservedAnalyses &PA, FunctionAnalysisManager::Invalidator &Inv) | llvm::ScalarEvolution | |
isAvailableAtLoopEntry(const SCEV *S, const Loop *L) | llvm::ScalarEvolution | |
isBackedgeTakenCountMaxOrZero(const Loop *L) | llvm::ScalarEvolution | |
isBasicBlockEntryGuardedByCond(const BasicBlock *BB, ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
isKnownNegative(const SCEV *S) | llvm::ScalarEvolution | |
isKnownNonNegative(const SCEV *S) | llvm::ScalarEvolution | |
isKnownNonPositive(const SCEV *S) | llvm::ScalarEvolution | |
isKnownNonZero(const SCEV *S) | llvm::ScalarEvolution | |
isKnownOnEveryIteration(ICmpInst::Predicate Pred, const SCEVAddRecExpr *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
isKnownPositive(const SCEV *S) | llvm::ScalarEvolution | |
isKnownPredicate(ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
isKnownPredicateAt(ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS, const Instruction *CtxI) | llvm::ScalarEvolution | |
isKnownToBeAPowerOfTwo(const SCEV *S, bool OrZero=false, bool OrNegative=false) | llvm::ScalarEvolution | |
isKnownViaInduction(ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
isLoopBackedgeGuardedByCond(const Loop *L, ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
isLoopEntryGuardedByCond(const Loop *L, ICmpInst::Predicate Pred, const SCEV *LHS, const SCEV *RHS) | llvm::ScalarEvolution | |
isLoopInvariant(const SCEV *S, const Loop *L) | llvm::ScalarEvolution | |
isSCEVable(Type *Ty) const | llvm::ScalarEvolution | |
LoopComputable enum value | llvm::ScalarEvolution | |
LoopDisposition enum name | llvm::ScalarEvolution | |
loopHasNoAbnormalExits(const Loop *L) | llvm::ScalarEvolution | inline |
LoopInvariant enum value | llvm::ScalarEvolution | |
loopIsFiniteByAssumption(const Loop *L) | llvm::ScalarEvolution | |
LoopVariant enum value | llvm::ScalarEvolution | |
maskFlags(SCEV::NoWrapFlags Flags, int Mask) | llvm::ScalarEvolution | inlinestatic |
MonotonicallyDecreasing enum value | llvm::ScalarEvolution | |
MonotonicallyIncreasing enum value | llvm::ScalarEvolution | |
MonotonicPredicateType enum name | llvm::ScalarEvolution | |
print(raw_ostream &OS) const | llvm::ScalarEvolution | |
properlyDominates(const SCEV *S, const BasicBlock *BB) | llvm::ScalarEvolution | |
ProperlyDominatesBlock enum value | llvm::ScalarEvolution | |
registerUser(const SCEV *User, ArrayRef< const SCEV * > Ops) | llvm::ScalarEvolution | |
removePointerBase(const SCEV *S) | llvm::ScalarEvolution | |
rewriteUsingPredicate(const SCEV *S, const Loop *L, const SCEVPredicate &A) | llvm::ScalarEvolution | |
ScalarEvolution(Function &F, TargetLibraryInfo &TLI, AssumptionCache &AC, DominatorTree &DT, LoopInfo &LI) | llvm::ScalarEvolution | |
ScalarEvolution(ScalarEvolution &&Arg) | llvm::ScalarEvolution | |
ScalarEvolutionsTest | llvm::ScalarEvolution | friend |
SCEVCallbackVH | llvm::ScalarEvolution | friend |
SCEVExpander | llvm::ScalarEvolution | friend |
SCEVUnknown | llvm::ScalarEvolution | friend |
setFlags(SCEV::NoWrapFlags Flags, SCEV::NoWrapFlags OnFlags) | llvm::ScalarEvolution | inlinestatic |
setNoWrapFlags(SCEVAddRecExpr *AddRec, SCEV::NoWrapFlags Flags) | llvm::ScalarEvolution | |
SimplifyICmpOperands(ICmpInst::Predicate &Pred, const SCEV *&LHS, const SCEV *&RHS, unsigned Depth=0) | llvm::ScalarEvolution | |
SplitIntoInitAndPostInc(const Loop *L, const SCEV *S) | llvm::ScalarEvolution | |
SymbolicMaximum enum value | llvm::ScalarEvolution | |
verify() const | llvm::ScalarEvolution | |
willNotOverflow(Instruction::BinaryOps BinOp, bool Signed, const SCEV *LHS, const SCEV *RHS, const Instruction *CtxI=nullptr) | llvm::ScalarEvolution | |
~ScalarEvolution() | llvm::ScalarEvolution |