LLVM  16.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::GVNExpression::PHIExpression Class Referencefinal

#include "llvm/Transforms/Scalar/GVNExpression.h"

Inheritance diagram for llvm::GVNExpression::PHIExpression:
Inheritance graph
Collaboration diagram for llvm::GVNExpression::PHIExpression:
Collaboration graph

Public Member Functions

 PHIExpression (unsigned NumOperands, BasicBlock *B)
 PHIExpression ()=delete
 PHIExpression (const PHIExpression &)=delete
PHIExpressionoperator= (const PHIExpression &)=delete
 ~PHIExpression () override
bool equals (const Expression &Other) const override
hash_code getHashValue () const override
void printInternal (raw_ostream &OS, bool PrintEType) const override
- Public Member Functions inherited from llvm::GVNExpression::BasicExpression
 BasicExpression (unsigned NumOperands)
 BasicExpression (unsigned NumOperands, ExpressionType ET)
 BasicExpression ()=delete
 BasicExpression (const BasicExpression &)=delete
BasicExpressionoperator= (const BasicExpression &)=delete
 ~BasicExpression () override
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
- Public Member Functions inherited from llvm::GVNExpression::Expression
 Expression (ExpressionType ET=ET_Base, unsigned O=~2U)
 Expression (const Expression &)=delete
Expressionoperator= (const Expression &)=delete
virtual ~Expression ()
bool operator!= (const Expression &Other) const
bool operator== (const Expression &Other) const
hash_code getComputedHash () const
virtual bool exactlyEquals (const Expression &Other) const
unsigned getOpcode () const
void setOpcode (unsigned opcode)
ExpressionType getExpressionType () const
void print (raw_ostream &OS) const
LLVM_DUMP_METHOD void dump () const

Static Public Member Functions

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

Additional Inherited Members

- Public Types inherited from llvm::GVNExpression::BasicExpression
using op_iterator = Value **
using const_op_iterator = Value *const *

Detailed Description

Definition at line 505 of file GVNExpression.h.

Constructor & Destructor Documentation

◆ PHIExpression() [1/3]

llvm::GVNExpression::PHIExpression::PHIExpression ( unsigned  NumOperands,
BasicBlock B 

Definition at line 510 of file GVNExpression.h.

References BB.

◆ PHIExpression() [2/3]

llvm::GVNExpression::PHIExpression::PHIExpression ( )

◆ PHIExpression() [3/3]

llvm::GVNExpression::PHIExpression::PHIExpression ( const PHIExpression )

◆ ~PHIExpression()

llvm::GVNExpression::PHIExpression::~PHIExpression ( )

Member Function Documentation

◆ classof()

static bool llvm::GVNExpression::PHIExpression::classof ( const Expression EB)

◆ equals()

bool llvm::GVNExpression::PHIExpression::equals ( const Expression Other) const

Reimplemented from llvm::GVNExpression::BasicExpression.

Definition at line 521 of file GVNExpression.h.

References BB, llvm::GVNExpression::BasicExpression::equals(), and Other.

◆ getHashValue()

hash_code llvm::GVNExpression::PHIExpression::getHashValue ( ) const

◆ operator=()

PHIExpression& llvm::GVNExpression::PHIExpression::operator= ( const PHIExpression )

◆ printInternal()

void llvm::GVNExpression::PHIExpression::printInternal ( raw_ostream OS,
bool  PrintEType 
) const

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