LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::GVNExpression::MemoryExpression Class Reference

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

Inheritance diagram for llvm::GVNExpression::MemoryExpression:
Inheritance graph
[legend]

Public Member Functions

 MemoryExpression (unsigned NumOperands, enum ExpressionType EType, const MemoryAccess *MemoryLeader)
 
 MemoryExpression ()=delete
 
 MemoryExpression (const MemoryExpression &)=delete
 
MemoryExpressionoperator= (const MemoryExpression &)=delete
 
hash_code getHashValue () const override
 
bool equals (const Expression &Other) const override
 
const MemoryAccessgetMemoryLeader () const
 
void setMemoryLeader (const MemoryAccess *ML)
 
- 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.
 
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
 
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::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 equals (const Expression &Other) const
 
virtual bool exactlyEquals (const Expression &Other) const
 
unsigned getOpcode () const
 
void setOpcode (unsigned opcode)
 
ExpressionType getExpressionType () const
 
virtual hash_code getHashValue () const
 
virtual void printInternal (raw_ostream &OS, bool PrintEType) 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 268 of file GVNExpression.h.

Constructor & Destructor Documentation

◆ MemoryExpression() [1/3]

llvm::GVNExpression::MemoryExpression::MemoryExpression ( unsigned  NumOperands,
enum ExpressionType  EType,
const MemoryAccess MemoryLeader 
)
inline

Definition at line 273 of file GVNExpression.h.

◆ MemoryExpression() [2/3]

llvm::GVNExpression::MemoryExpression::MemoryExpression ( )
delete

◆ MemoryExpression() [3/3]

llvm::GVNExpression::MemoryExpression::MemoryExpression ( const MemoryExpression )
delete

Member Function Documentation

◆ classof()

static bool llvm::GVNExpression::MemoryExpression::classof ( const Expression EB)
inlinestatic

◆ equals()

bool llvm::GVNExpression::MemoryExpression::equals ( const Expression Other) const
inlineoverridevirtual

◆ getHashValue()

hash_code llvm::GVNExpression::MemoryExpression::getHashValue ( ) const
inlineoverridevirtual

◆ getMemoryLeader()

const MemoryAccess * llvm::GVNExpression::MemoryExpression::getMemoryLeader ( ) const
inline

◆ operator=()

MemoryExpression & llvm::GVNExpression::MemoryExpression::operator= ( const MemoryExpression )
delete

◆ setMemoryLeader()

void llvm::GVNExpression::MemoryExpression::setMemoryLeader ( const MemoryAccess ML)
inline

Definition at line 298 of file GVNExpression.h.

References ML.


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