LLVM  8.0.1
Public Member Functions | List of all members
llvm::GVNHoist Class Reference

Public Member Functions

 GVNHoist (DominatorTree *DT, PostDominatorTree *PDT, AliasAnalysis *AA, MemoryDependenceResults *MD, MemorySSA *MSSA)
 
bool run (Function &F)
 
unsigned int rank (const Value *V) const
 

Detailed Description

Definition at line 256 of file GVNHoist.cpp.

Constructor & Destructor Documentation

◆ GVNHoist()

llvm::GVNHoist::GVNHoist ( DominatorTree DT,
PostDominatorTree PDT,
AliasAnalysis AA,
MemoryDependenceResults MD,
MemorySSA MSSA 
)
inline

Definition at line 258 of file GVNHoist.cpp.

Member Function Documentation

◆ rank()

unsigned int llvm::GVNHoist::rank ( const Value V) const
inline

Definition at line 307 of file GVNHoist.cpp.

References llvm::any_of(), assert(), C, llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::count(), D, llvm::dbgs(), llvm::tgtok::Def, llvm::MemorySSAUtil::defClobbersUseOrDef(), llvm::CHIArg::Dest, llvm::DominatorTree::dominates(), E, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::find_if(), llvm::MemoryAccess::getBlock(), llvm::MemorySSA::getBlockAccesses(), llvm::MemoryUseOrDef::getDefiningAccess(), llvm::MemorySSA::getMemoryAccess(), llvm::MemoryUseOrDef::getMemoryInst(), llvm::Value::getName(), llvm::DominatorTreeBase< NodeT, IsPostDom >::getNode(), llvm::Instruction::getNumSuccessors(), llvm::Instruction::getParent(), llvm::BasicBlock::getTerminator(), llvm::BasicBlock::hasAddressTaken(), llvm::CHIArg::I, llvm::idf_begin(), llvm::idf_end(), if(), llvm::BasicBlock::isEHPad(), llvm::MemorySSA::isLiveOnEntryDef(), LLVM_DEBUG, llvm::SPII::Load, llvm::MemorySSA::locallyDominates(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::lookup(), MaxNumberOfBBSInPath, llvm::Instruction::mayThrow(), P, llvm::predecessors(), llvm::DominatorTreeBase< NodeT, IsPostDom >::properlyDominates(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::reverse(), llvm::NVPTX::PTXLdStInstCode::Scalar, llvm::size(), llvm::SPII::Store, llvm::successors(), llvm::Unknown, VI, and llvm::CHIArg::VN.

◆ run()

bool llvm::GVNHoist::run ( Function F)
inline

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