LLVM  4.0.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::GVNExpression::BasicExpression Class Reference

#include <GVNExpression.h>

Inheritance diagram for llvm::GVNExpression::BasicExpression:
[legend]
Collaboration diagram for llvm::GVNExpression::BasicExpression:
[legend]

Public Types

typedef Value ** op_iterator
 
typedef Value *constconst_op_iterator
 

Public Member Functions

 BasicExpression (unsigned NumOperands)
 
 BasicExpression (unsigned NumOperands, ExpressionType ET)
 
virtual ~BasicExpression () override
 
void operator= (const BasicExpression &)=delete
 
 BasicExpression (const BasicExpression &)=delete
 
 BasicExpression ()=delete
 
void swapOperands (unsigned First, unsigned Second)
 Swap two operands. More...
 
ValuegetOperand (unsigned N) const
 
void setOperand (unsigned N, Value *V)
 
unsigned getNumOperands () const
 
op_iterator op_begin ()
 
op_iterator op_end ()
 
const_op_iterator op_begin () const
 
const_op_iterator op_end () const
 
iterator_range< op_iteratoroperands ()
 
iterator_range< const_op_iteratoroperands () const
 
void op_push_back (Value *Arg)
 
bool op_empty () const
 
void allocateOperands (RecyclerType &Recycler, BumpPtrAllocator &Allocator)
 
void deallocateOperands (RecyclerType &Recycler)
 
void setType (Type *T)
 
TypegetType () const
 
virtual bool equals (const Expression &Other) const override
 
virtual hash_code getHashValue () const override
 
virtual void printInternal (raw_ostream &OS, bool PrintEType) const override
 
- Public Member Functions inherited from llvm::GVNExpression::Expression
 Expression (const Expression &)=delete
 
 Expression (ExpressionType ET=ET_Base, unsigned O=~2U)
 
void operator= (const Expression &)=delete
 
virtual ~Expression ()
 
bool operator== (const Expression &Other) const
 
unsigned getOpcode () const
 
void setOpcode (unsigned opcode)
 
ExpressionType getExpressionType () const
 
void print (raw_ostream &OS) const
 
void dump () const
 

Static Public Member Functions

static bool classof (const Expression *EB)
 
- Static Public Member Functions inherited from llvm::GVNExpression::Expression
static unsigned getEmptyKey ()
 
static unsigned getTombstoneKey ()
 

Detailed Description

Definition at line 112 of file GVNExpression.h.

Member Typedef Documentation

Definition at line 158 of file GVNExpression.h.

Definition at line 157 of file GVNExpression.h.

Constructor & Destructor Documentation

llvm::GVNExpression::BasicExpression::BasicExpression ( unsigned  NumOperands)
inline

Definition at line 127 of file GVNExpression.h.

llvm::GVNExpression::BasicExpression::BasicExpression ( unsigned  NumOperands,
ExpressionType  ET 
)
inline

Definition at line 129 of file GVNExpression.h.

llvm::GVNExpression::BasicExpression::~BasicExpression ( )
overridevirtualdefault
llvm::GVNExpression::BasicExpression::BasicExpression ( const BasicExpression )
delete
llvm::GVNExpression::BasicExpression::BasicExpression ( )
delete

Member Function Documentation

void llvm::GVNExpression::BasicExpression::allocateOperands ( RecyclerType Recycler,
BumpPtrAllocator Allocator 
)
inline

Definition at line 177 of file GVNExpression.h.

References llvm::ArrayRecycler< T, Align >::allocate(), and assert().

static bool llvm::GVNExpression::BasicExpression::classof ( const Expression EB)
inlinestatic
void llvm::GVNExpression::BasicExpression::deallocateOperands ( RecyclerType Recycler)
inline

Definition at line 181 of file GVNExpression.h.

References llvm::ArrayRecycler< T, Align >::deallocate().

virtual bool llvm::GVNExpression::BasicExpression::equals ( const Expression Other) const
inlineoverridevirtual
virtual hash_code llvm::GVNExpression::BasicExpression::getHashValue ( ) const
inlineoverridevirtual
unsigned llvm::GVNExpression::BasicExpression::getNumOperands ( ) const
inline

Definition at line 155 of file GVNExpression.h.

Referenced by op_empty(), and printInternal().

Value* llvm::GVNExpression::BasicExpression::getOperand ( unsigned  N) const
inline

Definition at line 143 of file GVNExpression.h.

References assert(), and N.

Type* llvm::GVNExpression::BasicExpression::getType ( ) const
inline
op_iterator llvm::GVNExpression::BasicExpression::op_begin ( )
inline
const_op_iterator llvm::GVNExpression::BasicExpression::op_begin ( ) const
inline

Definition at line 161 of file GVNExpression.h.

bool llvm::GVNExpression::BasicExpression::op_empty ( ) const
inline

Definition at line 175 of file GVNExpression.h.

References getNumOperands().

op_iterator llvm::GVNExpression::BasicExpression::op_end ( )
inline
const_op_iterator llvm::GVNExpression::BasicExpression::op_end ( ) const
inline

Definition at line 162 of file GVNExpression.h.

void llvm::GVNExpression::BasicExpression::op_push_back ( Value Arg)
inline

Definition at line 170 of file GVNExpression.h.

References assert().

Referenced by llvm::GVNExpression::op_inserter::operator=().

iterator_range<op_iterator> llvm::GVNExpression::BasicExpression::operands ( )
inline

Definition at line 163 of file GVNExpression.h.

References op_begin(), and op_end().

iterator_range<const_op_iterator> llvm::GVNExpression::BasicExpression::operands ( ) const
inline

Definition at line 166 of file GVNExpression.h.

References op_begin(), and op_end().

void llvm::GVNExpression::BasicExpression::operator= ( const BasicExpression )
delete
virtual void llvm::GVNExpression::BasicExpression::printInternal ( raw_ostream OS,
bool  PrintEType 
) const
inlineoverridevirtual
void llvm::GVNExpression::BasicExpression::setOperand ( unsigned  N,
Value V 
)
inline

Definition at line 149 of file GVNExpression.h.

References assert(), and N.

void llvm::GVNExpression::BasicExpression::setType ( Type T)
inline

Definition at line 185 of file GVNExpression.h.

References T.

void llvm::GVNExpression::BasicExpression::swapOperands ( unsigned  First,
unsigned  Second 
)
inline

Swap two operands.

Used during GVN to put commutative operands in order.

Definition at line 139 of file GVNExpression.h.

References std::swap().


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