LLVM  3.7.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::SCEVNAryExpr Class Reference

SCEVNAryExpr - This node is a base class providing common functionality for n'ary operators. More...

#include <ScalarEvolutionExpressions.h>

Inheritance diagram for llvm::SCEVNAryExpr:
[legend]
Collaboration diagram for llvm::SCEVNAryExpr:
[legend]

Public Types

typedef const SCEV *constop_iterator
 
typedef iterator_range
< op_iterator
op_range
 
- 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

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
 
- Public Member Functions inherited from llvm::SCEV
 SCEV (const FoldingSetNodeIDRef ID, unsigned SCEVTy)
 
unsigned getSCEVType () const
 
TypegetType () const
 getType - Return the LLVM type of this SCEV expression. More...
 
bool isZero () const
 isZero - Return true if the expression is a constant zero. More...
 
bool isOne () const
 isOne - Return true if the expression is a constant one. More...
 
bool isAllOnesValue () const
 isAllOnesValue - Return true if the expression is a constant all-ones value. More...
 
bool isNonConstantNegative () const
 isNonConstantNegative - Return true if the specified scev is negated, but not a constant. More...
 
void print (raw_ostream &OS) const
 print - Print out the internal representation of this scalar to the specified stream. More...
 
void dump () const
 dump - This method is used for debugging. More...
 
- Public Member Functions inherited from llvm::FoldingSetImpl::Node
 Node ()
 
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: More...
 

Protected Member Functions

 SCEVNAryExpr (const FoldingSetNodeIDRef ID, enum SCEVTypes T, const SCEV *const *O, size_t N)
 

Protected Attributes

const SCEV *constOperands
 
size_t NumOperands
 
- Protected Attributes inherited from llvm::SCEV
unsigned short SubclassData
 SubclassData - This field is initialized to zero and may be used in subclasses to store miscellaneous information. More...
 

Detailed Description

SCEVNAryExpr - This node is a base class providing common functionality for n'ary operators.

Definition at line 134 of file ScalarEvolutionExpressions.h.

Member Typedef Documentation

Definition at line 154 of file ScalarEvolutionExpressions.h.

Definition at line 155 of file ScalarEvolutionExpressions.h.

Constructor & Destructor Documentation

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

Definition at line 143 of file ScalarEvolutionExpressions.h.

Member Function Documentation

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

Methods for support type inquiry through isa, cast, and dyn_cast:

Definition at line 169 of file ScalarEvolutionExpressions.h.

References llvm::SCEV::getSCEVType(), llvm::scAddExpr, llvm::scAddRecExpr, llvm::scMulExpr, llvm::scSMaxExpr, and llvm::scUMaxExpr.

NoWrapFlags llvm::SCEVNAryExpr::getNoWrapFlags ( NoWrapFlags  Mask = NoWrapMask) const
inline
size_t llvm::SCEVNAryExpr::getNumOperands ( ) const
inline
const SCEV* llvm::SCEVNAryExpr::getOperand ( unsigned  i) const
inline
Type* llvm::SCEVNAryExpr::getType ( ) const
inline
op_iterator llvm::SCEVNAryExpr::op_begin ( ) const
inline
op_iterator llvm::SCEVNAryExpr::op_end ( ) const
inline
op_range llvm::SCEVNAryExpr::operands ( ) const
inline

Definition at line 158 of file ScalarEvolutionExpressions.h.

References llvm::make_range(), op_begin(), and op_end().

Referenced by getPreStartForExtend().

Member Data Documentation

size_t llvm::SCEVNAryExpr::NumOperands
protected

Definition at line 141 of file ScalarEvolutionExpressions.h.

Referenced by getNumOperands(), getOperand(), and op_end().

const SCEV* const* llvm::SCEVNAryExpr::Operands
protected

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