LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::SCEVNAryExpr Class Reference

#include <ScalarEvolutionExpressions.h>

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

Public Types

typedef const SCEV *const * 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
}
 

Public Member Functions

size_t getNumOperands () const
 
const SCEVgetOperand (unsigned i) const
 
op_iterator op_begin () const
 
op_iterator op_end () 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
 
bool isZero () const
 
bool isOne () const
 
bool isAllOnesValue () const
 
bool isNonConstantNegative () const
 
void print (raw_ostream &OS) const
 
void dump () const
 
- 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 *const * Operands
 
size_t NumOperands
 
- Protected Attributes inherited from llvm::SCEV
unsigned short SubclassData
 

Detailed Description

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

Definition at line 133 of file ScalarEvolutionExpressions.h.

Member Typedef Documentation

typedef const SCEV* const* llvm::SCEVNAryExpr::op_iterator

Definition at line 153 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 142 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 164 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

Member Data Documentation

size_t llvm::SCEVNAryExpr::NumOperands
protected

Definition at line 140 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: