LLVM 17.0.0git
|
This means that we are dealing with an entirely unknown SCEV value, and only represent it as its LLVM Value. More...
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
Public Member Functions | |
Value * | getValue () const |
Type * | getType () const |
bool | isSizeOf (Type *&AllocTy) const |
bool | isAlignOf (Type *&AllocTy) const |
bool | isOffsetOf (Type *&STy, Constant *&FieldNo) const |
![]() | |
SCEV (const FoldingSetNodeIDRef ID, SCEVTypes SCEVTy, unsigned short ExpressionSize) | |
SCEV (const SCEV &)=delete | |
SCEV & | operator= (const SCEV &)=delete |
SCEVTypes | getSCEVType () const |
Type * | getType () const |
Return the LLVM type of this SCEV expression. | |
ArrayRef< const SCEV * > | operands () const |
Return operands of this SCEV expression. | |
bool | isZero () const |
Return true if the expression is a constant zero. | |
bool | isOne () const |
Return true if the expression is a constant one. | |
bool | isAllOnesValue () const |
Return true if the expression is a constant all-ones value. | |
bool | isNonConstantNegative () const |
Return true if the specified scev is negated, but not a constant. | |
unsigned short | getExpressionSize () const |
void | print (raw_ostream &OS) const |
Print out the internal representation of this scalar to the specified stream. | |
void | dump () const |
This method is used for debugging. | |
![]() | |
Node ()=default | |
void * | getNextInBucket () const |
void | SetNextInBucket (void *N) |
Static Public Member Functions | |
static bool | classof (const SCEV *S) |
Methods for support type inquiry through isa, cast, and dyn_cast: | |
Friends | |
class | ScalarEvolution |
Additional Inherited Members | |
![]() | |
enum | NoWrapFlags { FlagAnyWrap = 0 , FlagNW = (1 << 0) , FlagNUW = (1 << 1) , FlagNSW = (1 << 2) , NoWrapMask = (1 << 3) - 1 } |
NoWrapFlags are bitfield indices into SubclassData. More... | |
![]() | |
const unsigned short | ExpressionSize |
unsigned short | SubclassData = 0 |
This field is initialized to zero and may be used in subclasses to store miscellaneous information. | |
This means that we are dealing with an entirely unknown SCEV value, and only represent it as its LLVM Value.
This is the "bottom" value for the analysis.
Definition at line 559 of file ScalarEvolutionExpressions.h.
Methods for support type inquiry through isa, cast, and dyn_cast:
Definition at line 597 of file ScalarEvolutionExpressions.h.
References llvm::SCEV::getSCEVType(), and llvm::scUnknown.
|
inline |
Definition at line 594 of file ScalarEvolutionExpressions.h.
References llvm::Value::getType(), and llvm::ValueHandleBase::getValPtr().
Referenced by llvm::ScalarEvolution::getLosslessPtrToIntExpr(), and isSimpleCastedPHI().
|
inline |
Definition at line 580 of file ScalarEvolutionExpressions.h.
References llvm::ValueHandleBase::getValPtr().
Referenced by CompareSCEVComplexity(), llvm::ScalarEvolution::containsErasedValue(), llvm::ScalarEvolution::containsUndefs(), llvm::ScalarEvolution::createAddRecFromPHIWithCasts(), getCastsForInductionPHI(), llvm::getStrideFromPointer(), isAlignOf(), isOffsetOf(), llvm::SCEVExpander::isSafeToExpandAt(), isSizeOf(), llvm::SCEV::print(), llvm::tryDelinearizeFixedSizeImpl(), llvm::ScalarEvolution::verify(), and llvm::SCEVParameterRewriter::visitUnknown().
Definition at line 593 of file ScalarEvolution.cpp.
References getValue().
Referenced by llvm::SCEV::print().
Definition at line 617 of file ScalarEvolution.cpp.
References getValue(), llvm::Type::isArrayTy(), and llvm::Type::isStructTy().
Referenced by llvm::SCEV::print().
Test whether this is a special constant representing a type size, alignment, or field offset in a target-independent manner, and hasn't happened to have been folded with other operations into something unrecognizable. This is mainly only useful for pretty-printing and other situations where it isn't absolutely required for these to succeed.
Definition at line 577 of file ScalarEvolution.cpp.
References getValue().
Referenced by llvm::SCEV::print().
|
friend |
Definition at line 560 of file ScalarEvolutionExpressions.h.