LLVM  10.0.0svn
Static Public Member Functions | Protected Member Functions | Friends | List of all members
llvm::SCEVMinMaxExpr Class Reference

This node is the base class min/max selections. More...

#include "llvm/Analysis/ScalarEvolutionExpressions.h"

Inheritance diagram for llvm::SCEVMinMaxExpr:
Inheritance graph
[legend]
Collaboration diagram for llvm::SCEVMinMaxExpr:
Collaboration graph
[legend]

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: More...
 
- 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: More...
 

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. More...
 
- 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::SCEVNAryExpr
using op_iterator = const SCEV *const *
 
using op_range = iterator_range< op_iterator >
 
- 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...
 
- Public Member Functions inherited from llvm::SCEVCommutativeExpr
void setNoWrapFlags (NoWrapFlags Flags)
 Set flags for a non-recurrence without clearing previously set flags. More...
 
- Public Member Functions inherited from llvm::SCEVNAryExpr
size_t getNumOperands () const
 
const SCEVgetOperand (unsigned i) const
 
op_iterator op_begin () const
 
op_iterator op_end () const
 
op_range operands () const
 
TypegetType () 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, unsigned SCEVTy, unsigned short ExpressionSize)
 
 SCEV (const SCEV &)=delete
 
SCEVoperator= (const SCEV &)=delete
 
unsigned getSCEVType () const
 
TypegetType () const
 Return the LLVM type of this SCEV expression. More...
 
bool isZero () const
 Return true if the expression is a constant zero. More...
 
bool isOne () const
 Return true if the expression is a constant one. More...
 
bool isAllOnesValue () const
 Return true if the expression is a constant all-ones value. More...
 
bool isNonConstantNegative () const
 Return true if the specified scev is negated, but not a constant. More...
 
unsigned short getExpressionSize () const
 
void print (raw_ostream &OS) const
 Print out the internal representation of this scalar to the specified stream. More...
 
void dump () const
 This method is used for debugging. More...
 
- Public Member Functions inherited from llvm::FoldingSetBase::Node
 Node ()=default
 
void * getNextInBucket () const
 
void SetNextInBucket (void *N)
 
- Protected Attributes inherited from llvm::SCEVNAryExpr
const SCEV *constOperands
 
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. More...
 

Detailed Description

This node is the base class min/max selections.

Definition at line 368 of file ScalarEvolutionExpressions.h.

Constructor & Destructor Documentation

◆ SCEVMinMaxExpr()

llvm::SCEVMinMaxExpr::SCEVMinMaxExpr ( const FoldingSetNodeIDRef  ID,
enum SCEVTypes  T,
const SCEV *const O,
size_t  N 
)
inlineprotected

Note: Constructing subclasses via this constructor is allowed.

Definition at line 378 of file ScalarEvolutionExpressions.h.

References assert(), llvm::SCEV::FlagNSW, and llvm::SCEV::FlagNUW.

Member Function Documentation

◆ classof()

static bool llvm::SCEVMinMaxExpr::classof ( const SCEV S)
inlinestatic

Definition at line 387 of file ScalarEvolutionExpressions.h.

References llvm::SCEV::getSCEVType().

◆ negate()

static enum SCEVTypes llvm::SCEVMinMaxExpr::negate ( enum SCEVTypes  T)
inlinestatic

Friends And Related Function Documentation

◆ ScalarEvolution

friend class ScalarEvolution
friend

Definition at line 369 of file ScalarEvolutionExpressions.h.


The documentation for this class was generated from the following file: