LLVM
8.0.1
|
#include "llvm/Transforms/Scalar/GVNExpression.h"
Public Member Functions | |
Expression (ExpressionType ET=ET_Base, unsigned O=~2U) | |
Expression (const Expression &)=delete | |
Expression & | operator= (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 () |
Definition at line 61 of file GVNExpression.h.
|
inline |
Definition at line 68 of file GVNExpression.h.
References operator=(), and ~Expression().
|
delete |
|
virtualdefault |
Referenced by Expression().
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().
|
inlinevirtual |
Reimplemented in llvm::GVNExpression::UnknownExpression, llvm::GVNExpression::ConstantExpression, llvm::GVNExpression::VariableExpression, llvm::GVNExpression::PHIExpression, llvm::GVNExpression::AggregateValueExpression, llvm::GVNExpression::StoreExpression, llvm::GVNExpression::LoadExpression, llvm::GVNExpression::MemoryExpression, and llvm::GVNExpression::BasicExpression.
Definition at line 101 of file GVNExpression.h.
Referenced by exactlyEquals(), llvm::GVNExpression::StoreExpression::getStoredValue(), operator==(), and llvm::GVNExpression::LoadExpression::setAlignment().
|
inlinevirtual |
Reimplemented in llvm::GVNExpression::StoreExpression, and llvm::GVNExpression::LoadExpression.
Definition at line 105 of file GVNExpression.h.
References equals(), and getExpressionType().
Referenced by llvm::GVNExpression::LoadExpression::exactlyEquals(), llvm::GVNExpression::StoreExpression::exactlyEquals(), and llvm::ExactEqualsExpression::operator==().
|
inline |
Definition at line 92 of file GVNExpression.h.
References getHashValue().
Referenced by llvm::ExactEqualsExpression::getComputedHash(), llvm::DenseMapInfo< const Expression * >::getHashValue(), and llvm::DenseMapInfo< const Expression * >::isEqual().
|
inlinestatic |
Definition at line 74 of file GVNExpression.h.
Referenced by dump(), and operator==().
|
inline |
Definition at line 111 of file GVNExpression.h.
Referenced by llvm::GVNExpression::BasicExpression::classof(), llvm::GVNExpression::MemoryExpression::classof(), llvm::GVNExpression::CallExpression::classof(), llvm::GVNExpression::LoadExpression::classof(), llvm::GVNExpression::StoreExpression::classof(), llvm::GVNExpression::AggregateValueExpression::classof(), llvm::GVNExpression::PHIExpression::classof(), llvm::GVNExpression::DeadExpression::classof(), llvm::GVNExpression::VariableExpression::classof(), llvm::GVNExpression::ConstantExpression::classof(), llvm::GVNExpression::UnknownExpression::classof(), exactlyEquals(), operator==(), and printInternal().
|
inlinevirtual |
Reimplemented in llvm::GVNExpression::UnknownExpression, llvm::GVNExpression::ConstantExpression, llvm::GVNExpression::VariableExpression, llvm::GVNExpression::PHIExpression, llvm::GVNExpression::AggregateValueExpression, llvm::GVNExpression::MemoryExpression, and llvm::GVNExpression::BasicExpression.
Definition at line 114 of file GVNExpression.h.
References getOpcode().
Referenced by dump(), getComputedHash(), llvm::GVNExpression::BasicExpression::getHashValue(), llvm::GVNExpression::VariableExpression::getHashValue(), llvm::GVNExpression::ConstantExpression::getHashValue(), and llvm::GVNExpression::UnknownExpression::getHashValue().
|
inline |
Definition at line 109 of file GVNExpression.h.
Referenced by alwaysAvailable(), dump(), llvm::GVNExpression::BasicExpression::equals(), getHashValue(), operator==(), and printInternal().
|
inlinestatic |
Definition at line 75 of file GVNExpression.h.
Referenced by dump(), and operator==().
|
inline |
Definition at line 77 of file GVNExpression.h.
|
delete |
Referenced by llvm::GVNExpression::AggregateValueExpression::AggregateValueExpression(), llvm::GVNExpression::BasicExpression::BasicExpression(), llvm::GVNExpression::CallExpression::CallExpression(), llvm::GVNExpression::ConstantExpression::ConstantExpression(), llvm::GVNExpression::DeadExpression::DeadExpression(), Expression(), llvm::GVNExpression::LoadExpression::LoadExpression(), llvm::GVNExpression::MemoryExpression::MemoryExpression(), llvm::GVNExpression::PHIExpression::PHIExpression(), llvm::GVNExpression::StoreExpression::StoreExpression(), llvm::GVNExpression::UnknownExpression::UnknownExpression(), and llvm::GVNExpression::VariableExpression::VariableExpression().
|
inline |
Definition at line 78 of file GVNExpression.h.
References equals(), llvm::GVNExpression::ET_Load, llvm::GVNExpression::ET_Store, getEmptyKey(), getExpressionType(), getOpcode(), and getTombstoneKey().
Referenced by dump().
|
inline |
Definition at line 123 of file GVNExpression.h.
References dump(), LLVM_DUMP_METHOD, and printInternal().
Referenced by dump(), and llvm::GVNExpression::operator<<().
|
inlinevirtual |
Reimplemented in llvm::GVNExpression::UnknownExpression, llvm::GVNExpression::ConstantExpression, llvm::GVNExpression::VariableExpression, llvm::GVNExpression::PHIExpression, llvm::GVNExpression::AggregateValueExpression, llvm::GVNExpression::StoreExpression, llvm::GVNExpression::LoadExpression, llvm::GVNExpression::CallExpression, and llvm::GVNExpression::BasicExpression.
Definition at line 117 of file GVNExpression.h.
References getExpressionType(), and getOpcode().
Referenced by print(), llvm::GVNExpression::BasicExpression::printInternal(), llvm::GVNExpression::VariableExpression::printInternal(), llvm::GVNExpression::ConstantExpression::printInternal(), and llvm::GVNExpression::UnknownExpression::printInternal().
|
inline |
Definition at line 110 of file GVNExpression.h.
Referenced by alwaysAvailable(), and dump().