LLVM 22.0.0git
llvm::GVNExpression::LoadExpression Class Referencefinal

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

Inheritance diagram for llvm::GVNExpression::LoadExpression:
[legend]

Public Member Functions

 LoadExpression (unsigned NumOperands, LoadInst *L, const MemoryAccess *MemoryLeader)
 LoadExpression (enum ExpressionType EType, unsigned NumOperands, LoadInst *L, const MemoryAccess *MemoryLeader)
 LoadExpression ()=delete
 LoadExpression (const LoadExpression &)=delete
LoadExpressionoperator= (const LoadExpression &)=delete
 ~LoadExpression () override
LoadInstgetLoadInst () const
void setLoadInst (LoadInst *L)
bool equals (const Expression &Other) const override
bool exactlyEquals (const Expression &Other) const override
void printInternal (raw_ostream &OS, bool PrintEType) const override
Public Member Functions inherited from llvm::GVNExpression::MemoryExpression
 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
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
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::MemoryExpression
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 334 of file GVNExpression.h.

Constructor & Destructor Documentation

◆ LoadExpression() [1/4]

llvm::GVNExpression::LoadExpression::LoadExpression ( unsigned NumOperands,
LoadInst * L,
const MemoryAccess * MemoryLeader )
inline

Definition at line 339 of file GVNExpression.h.

References llvm::GVNExpression::ET_Load, and LoadExpression().

Referenced by LoadExpression(), LoadExpression(), and operator=().

◆ LoadExpression() [2/4]

llvm::GVNExpression::LoadExpression::LoadExpression ( enum ExpressionType EType,
unsigned NumOperands,
LoadInst * L,
const MemoryAccess * MemoryLeader )
inline

◆ LoadExpression() [3/4]

llvm::GVNExpression::LoadExpression::LoadExpression ( )
delete

◆ LoadExpression() [4/4]

llvm::GVNExpression::LoadExpression::LoadExpression ( const LoadExpression & )
delete

References LoadExpression().

◆ ~LoadExpression()

llvm::GVNExpression::LoadExpression::~LoadExpression ( )
overridedefault

Member Function Documentation

◆ classof()

bool llvm::GVNExpression::LoadExpression::classof ( const Expression * EB)
inlinestatic

◆ equals()

bool LoadExpression::equals ( const Expression & Other) const
overridevirtual

Reimplemented from llvm::GVNExpression::BasicExpression.

Definition at line 938 of file NewGVN.cpp.

References equalsLoadStoreHelper(), and llvm::Other.

◆ exactlyEquals()

bool llvm::GVNExpression::LoadExpression::exactlyEquals ( const Expression & Other) const
inlineoverridevirtual

◆ getLoadInst()

LoadInst * llvm::GVNExpression::LoadExpression::getLoadInst ( ) const
inline

Definition at line 356 of file GVNExpression.h.

Referenced by exactlyEquals().

◆ operator=()

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

References LoadExpression().

◆ printInternal()

void llvm::GVNExpression::LoadExpression::printInternal ( raw_ostream & OS,
bool PrintEType ) const
inlineoverridevirtual

◆ setLoadInst()

void llvm::GVNExpression::LoadExpression::setLoadInst ( LoadInst * L)
inline

Definition at line 357 of file GVNExpression.h.


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