LLVM  8.0.1
Public Member Functions | Static Public Member Functions | List of all members
llvm::GVNExpression::Expression Class Reference

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

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

Public Member Functions

 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 unsigned getEmptyKey ()
 
static unsigned getTombstoneKey ()
 

Detailed Description

Definition at line 61 of file GVNExpression.h.

Constructor & Destructor Documentation

◆ Expression() [1/2]

llvm::GVNExpression::Expression::Expression ( ExpressionType  ET = ET_Base,
unsigned  O = ~2U 
)
inline

Definition at line 68 of file GVNExpression.h.

References operator=(), and ~Expression().

◆ Expression() [2/2]

llvm::GVNExpression::Expression::Expression ( const Expression )
delete

◆ ~Expression()

llvm::GVNExpression::Expression::~Expression ( )
virtualdefault

Referenced by Expression().

Member Function Documentation

◆ dump()

LLVM_DUMP_METHOD void llvm::GVNExpression::Expression::dump ( ) const

Definition at line 91 of file GVNSink.cpp.

References llvm::MCID::Add, llvm::PHINode::addIncoming(), llvm::AnalysisUsage::addPreserved(), llvm::all_of(), Allocator, llvm::Instruction::andIRFlags(), llvm::any_of(), assert(), B, llvm::SetVector< T, SmallVector< T, N >, SmallDenseSet< T, N > >::begin(), llvm::SmallVectorTemplateCommon< T >::begin(), llvm::BasicBlock::begin(), C, llvm::MCID::Call, llvm::canReplaceOperandWithVariable(), llvm::SmallPtrSetImplBase::clear(), llvm::ArrayRecycler< T, Align >::clear(), llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::clear(), clear(), llvm::SetVector< T, SmallVector< T, N >, SmallDenseSet< T, N > >::clear(), llvm::SmallVectorImpl< T >::clear(), llvm::combineMetadataForCSE(), llvm::copy(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::PHINode::Create(), llvm::dbgs(), llvm::NVPTXISD::Dummy, llvm::Value::dump(), llvm::dyn_cast(), E, llvm::SmallVectorImpl< T >::emplace_back(), llvm::SmallVectorBase::empty(), llvm::SetVector< T, SmallVector< T, N >, SmallDenseSet< T, N > >::end(), llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::SmallVectorImpl< T >::erase(), llvm::Instruction::eraseFromParent(), llvm::Intrinsic::exp, F(), Fail, llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::find(), first, llvm::SmallVectorTemplateCommon< T >::front(), llvm::BasicBlock::front(), G, llvm::UndefValue::get(), getEmptyKey(), llvm::BasicBlock::getFirstInsertionPt(), getHashValue(), llvm::GVNExpression::BasicExpression::getHashValue(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::Value::getName(), llvm::PHINode::getNumIncomingValues(), llvm::User::getNumOperands(), llvm::Value::getNumUses(), getOpcode(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::User::getOperandUse(), llvm::Instruction::getParent(), llvm::PassRegistry::getPassRegistry(), getTombstoneKey(), getType(), llvm::Value::getType(), H, llvm::hash_combine(), llvm::hash_combine_range(), I, if(), llvm::initializeGVNSinkLegacyPassPass(), llvm::SetVector< T, SmallVector< T, N >, SmallDenseSet< T, N > >::insert(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::Instruction::isEHPad(), isEqual(), llvm::isStrongerThanUnordered(), llvm::Type::isTokenTy(), LLVM_DEBUG, llvm::SPII::Load, lookup(), llvm::Instruction::moveBefore(), N, llvm::None, llvm::RISCVFenceField::O, llvm::CallBase::onlyReadsMemory(), llvm::operator*(), llvm::GVNExpression::operator<<(), operator==(), llvm::operator>(), Other, P, llvm::BasicBlock::phis(), llvm::predecessors(), print(), llvm::Value::printAsOperand(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::SetVector< T, SmallVector< T, N >, SmallDenseSet< T, N > >::remove(), llvm::Value::replaceAllUsesWith(), runOnFunction(), llvm::MCID::Select, llvm::Use::set(), setOpcode(), sinkLastInstruction(), llvm::SmallVectorBase::size(), llvm::SetVector< T, SmallVector< T, N >, SmallDenseSet< T, N > >::size(), llvm::sort(), llvm::SplitBlockPredecessors(), llvm::SPII::Store, llvm::Value::uses(), llvm::Twine::utohexstr(), and VI.

Referenced by print().

◆ equals()

virtual bool llvm::GVNExpression::Expression::equals ( const Expression Other) const
inlinevirtual

◆ exactlyEquals()

virtual bool llvm::GVNExpression::Expression::exactlyEquals ( const Expression Other) const
inlinevirtual

◆ getComputedHash()

hash_code llvm::GVNExpression::Expression::getComputedHash ( ) const
inline

◆ getEmptyKey()

static unsigned llvm::GVNExpression::Expression::getEmptyKey ( )
inlinestatic

Definition at line 74 of file GVNExpression.h.

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

◆ getExpressionType()

ExpressionType llvm::GVNExpression::Expression::getExpressionType ( ) const
inline

◆ getHashValue()

virtual hash_code llvm::GVNExpression::Expression::getHashValue ( ) const
inlinevirtual

◆ getOpcode()

unsigned llvm::GVNExpression::Expression::getOpcode ( ) const
inline

◆ getTombstoneKey()

static unsigned llvm::GVNExpression::Expression::getTombstoneKey ( )
inlinestatic

Definition at line 75 of file GVNExpression.h.

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

◆ operator!=()

bool llvm::GVNExpression::Expression::operator!= ( const Expression Other) const
inline

Definition at line 77 of file GVNExpression.h.

◆ operator=()

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

◆ operator==()

bool llvm::GVNExpression::Expression::operator== ( const Expression Other) const
inline

◆ print()

void llvm::GVNExpression::Expression::print ( raw_ostream OS) const
inline

Definition at line 123 of file GVNExpression.h.

References dump(), LLVM_DUMP_METHOD, and printInternal().

Referenced by dump(), and llvm::GVNExpression::operator<<().

◆ printInternal()

virtual void llvm::GVNExpression::Expression::printInternal ( raw_ostream OS,
bool  PrintEType 
) const
inlinevirtual

◆ setOpcode()

void llvm::GVNExpression::Expression::setOpcode ( unsigned  opcode)
inline

Definition at line 110 of file GVNExpression.h.

Referenced by alwaysAvailable(), and dump().


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