LLVM 22.0.0git
|
This node is the base class min/max selections. More...
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
Public Member Functions | |
Type * | getType () const |
Public Member Functions inherited from llvm::SCEVCommutativeExpr | |
void | setNoWrapFlags (NoWrapFlags Flags) |
Set flags for a non-recurrence without clearing previously set flags. | |
Public Member Functions inherited from llvm::SCEVNAryExpr | |
size_t | getNumOperands () const |
const SCEV * | getOperand (unsigned i) const |
ArrayRef< const SCEV * > | operands () const |
NoWrapFlags | getNoWrapFlags (NoWrapFlags Mask=NoWrapMask) const |
bool | hasNoUnsignedWrap () const |
bool | hasNoSignedWrap () const |
bool | hasNoSelfWrap () const |
Public Member Functions inherited from llvm::SCEV | |
SCEV (const FoldingSetNodeIDRef ID, SCEVTypes SCEVTy, unsigned short ExpressionSize) | |
SCEV (const SCEV &)=delete | |
SCEV & | operator= (const SCEV &)=delete |
SCEVTypes | getSCEVType () const |
LLVM_ABI Type * | getType () const |
Return the LLVM type of this SCEV expression. | |
LLVM_ABI ArrayRef< const SCEV * > | operands () const |
Return operands of this SCEV expression. | |
LLVM_ABI bool | isZero () const |
Return true if the expression is a constant zero. | |
LLVM_ABI bool | isOne () const |
Return true if the expression is a constant one. | |
LLVM_ABI bool | isAllOnesValue () const |
Return true if the expression is a constant all-ones value. | |
LLVM_ABI bool | isNonConstantNegative () const |
Return true if the specified scev is negated, but not a constant. | |
unsigned short | getExpressionSize () const |
LLVM_ABI void | print (raw_ostream &OS) const |
Print out the internal representation of this scalar to the specified stream. | |
LLVM_ABI void | dump () const |
This method is used for debugging. | |
Public Member Functions inherited from llvm::FoldingSetBase::Node | |
Node ()=default | |
void * | getNextInBucket () const |
void | SetNextInBucket (void *N) |
Static Public Member Functions | |
static bool | classof (const SCEV *S) |
static enum SCEVTypes | negate (enum SCEVTypes T) |
Static Public Member Functions inherited from llvm::SCEVCommutativeExpr | |
static bool | classof (const SCEV *S) |
Methods for support type inquiry through isa, cast, and dyn_cast: | |
Static Public Member Functions inherited from llvm::SCEVNAryExpr | |
static bool | classof (const SCEV *S) |
Methods for support type inquiry through isa, cast, and dyn_cast: |
Protected Member Functions | |
SCEVMinMaxExpr (const FoldingSetNodeIDRef ID, enum SCEVTypes T, const SCEV *const *O, size_t N) | |
Note: Constructing subclasses via this constructor is allowed. | |
Protected Member Functions inherited from llvm::SCEVCommutativeExpr | |
SCEVCommutativeExpr (const FoldingSetNodeIDRef ID, enum SCEVTypes T, const SCEV *const *O, size_t N) | |
Protected Member Functions inherited from llvm::SCEVNAryExpr | |
SCEVNAryExpr (const FoldingSetNodeIDRef ID, enum SCEVTypes T, const SCEV *const *O, size_t N) |
Friends | |
class | ScalarEvolution |
Additional Inherited Members | |
Public Types inherited from llvm::SCEV | |
enum | NoWrapFlags { FlagAnyWrap = 0 , FlagNW = (1 << 0) , FlagNUW = (1 << 1) , FlagNSW = (1 << 2) , NoWrapMask = (1 << 3) - 1 } |
NoWrapFlags are bitfield indices into SubclassData. More... | |
Protected Attributes inherited from llvm::SCEVNAryExpr | |
const SCEV *const * | Operands |
size_t | NumOperands |
Protected Attributes inherited from llvm::SCEV | |
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 node is the base class min/max selections.
Definition at line 427 of file ScalarEvolutionExpressions.h.
|
inlineprotected |
Note: Constructing subclasses via this constructor is allowed.
Definition at line 437 of file ScalarEvolutionExpressions.h.
References assert(), llvm::SCEV::FlagNSW, llvm::SCEV::FlagNUW, N, llvm::SCEVCommutativeExpr::SCEVCommutativeExpr(), llvm::SCEVCommutativeExpr::setNoWrapFlags(), and T.
Referenced by llvm::SCEVSMaxExpr::ScalarEvolution, llvm::SCEVSMinExpr::ScalarEvolution, llvm::SCEVUMaxExpr::ScalarEvolution, and llvm::SCEVUMinExpr::ScalarEvolution.
Definition at line 448 of file ScalarEvolutionExpressions.h.
References llvm::SCEV::getSCEVType().
|
inline |
Definition at line 446 of file ScalarEvolutionExpressions.h.
References llvm::SCEVNAryExpr::getOperand(), and llvm::SCEV::getType().
Definition at line 450 of file ScalarEvolutionExpressions.h.
References llvm_unreachable, llvm::scSMaxExpr, llvm::scSMinExpr, llvm::scUMaxExpr, llvm::scUMinExpr, and T.
Referenced by llvm::ScalarEvolution::getNotSCEV().
|
friend |
Definition at line 428 of file ScalarEvolutionExpressions.h.
References ScalarEvolution, llvm::scSMaxExpr, llvm::scSMinExpr, llvm::scUMaxExpr, llvm::scUMinExpr, and T.
Referenced by ScalarEvolution.