LLVM 24.0.0git
llvm::GVNPassImpl Class Reference

The core GVN pass object. More...

Classes

struct  AvailableValue
 Represents a particular available value that we know how to materialize. More...
struct  AvailableValueInBlock
 Represents an AvailableValue which can be rematerialized at the end of the associated BasicBlock. More...

Public Member Functions

 GVNPassImpl (llvm::GVNOptions Options={})
void salvageAndRemoveInstruction (Instruction *I)
 This removes the specified instruction from our various maps and marks it for deletion.
DominatorTree & getDominatorTree () const
AAResults * getAliasAnalysis () const
MemoryDependenceResults & getMemDep () const
bool isScalarPREEnabled () const
bool isLoadPREEnabled () const
bool isLoadInLoopPREEnabled () const
bool isLoadPRESplitBackedgeEnabled () const
bool isMemDepEnabled () const
bool isMemorySSAEnabled () const

Friends

class GVNPass
class ::GVNLegacyPass

Detailed Description

The core GVN pass object.

FIXME: We should have a good summary of the GVN algorithm implemented by this particular pass here.

Definition at line 242 of file GVN.cpp.

Constructor & Destructor Documentation

◆ GVNPassImpl()

llvm::GVNPassImpl::GVNPassImpl ( llvm::GVNOptions Options = {})
inline

Definition at line 250 of file GVN.cpp.

Member Function Documentation

◆ getAliasAnalysis()

AAResults * llvm::GVNPassImpl::getAliasAnalysis ( ) const
inline

Definition at line 258 of file GVN.cpp.

◆ getDominatorTree()

DominatorTree & llvm::GVNPassImpl::getDominatorTree ( ) const
inline

Definition at line 257 of file GVN.cpp.

◆ getMemDep()

MemoryDependenceResults & llvm::GVNPassImpl::getMemDep ( ) const
inline

Definition at line 259 of file GVN.cpp.

◆ isLoadInLoopPREEnabled()

bool GVNPassImpl::isLoadInLoopPREEnabled ( ) const

Definition at line 1137 of file GVN.cpp.

◆ isLoadPREEnabled()

bool GVNPassImpl::isLoadPREEnabled ( ) const

Definition at line 1133 of file GVN.cpp.

◆ isLoadPRESplitBackedgeEnabled()

bool GVNPassImpl::isLoadPRESplitBackedgeEnabled ( ) const

Definition at line 1141 of file GVN.cpp.

◆ isMemDepEnabled()

bool GVNPassImpl::isMemDepEnabled ( ) const

Definition at line 1146 of file GVN.cpp.

References isMemorySSAEnabled(), and llvm::valueOr().

◆ isMemorySSAEnabled()

bool GVNPassImpl::isMemorySSAEnabled ( ) const

Definition at line 1155 of file GVN.cpp.

Referenced by isMemDepEnabled().

◆ isScalarPREEnabled()

bool GVNPassImpl::isScalarPREEnabled ( ) const

Definition at line 1129 of file GVN.cpp.

◆ salvageAndRemoveInstruction()

void GVNPassImpl::salvageAndRemoveInstruction ( Instruction * I)

This removes the specified instruction from our various maps and marks it for deletion.

Definition at line 1201 of file GVN.cpp.

References I, llvm::salvageDebugInfo(), and llvm::salvageKnowledge().

◆ ::GVNLegacyPass

friend class ::GVNLegacyPass
friend

Definition at line 270 of file GVN.cpp.

References F.

◆ GVNPass

friend class GVNPass
friend

Definition at line 269 of file GVN.cpp.

References GVNPass.

Referenced by GVNPass.


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