LLVM 24.0.0git
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 llvm::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 281 of file GVN.cpp.

Constructor & Destructor Documentation

◆ GVNPassImpl()

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

Definition at line 288 of file GVN.cpp.

Member Function Documentation

◆ getAliasAnalysis()

AAResults * GVNPassImpl::getAliasAnalysis ( ) const
inline

Definition at line 295 of file GVN.cpp.

◆ getDominatorTree()

DominatorTree & GVNPassImpl::getDominatorTree ( ) const
inline

Definition at line 294 of file GVN.cpp.

◆ getMemDep()

MemoryDependenceResults & GVNPassImpl::getMemDep ( ) const
inline

Definition at line 296 of file GVN.cpp.

◆ isLoadInLoopPREEnabled()

bool GVNPassImpl::isLoadInLoopPREEnabled ( ) const

Definition at line 1173 of file GVN.cpp.

References GVNEnableLoadInLoopPRE.

◆ isLoadPREEnabled()

bool GVNPassImpl::isLoadPREEnabled ( ) const

Definition at line 1169 of file GVN.cpp.

References GVNEnableLoadPRE.

◆ isLoadPRESplitBackedgeEnabled()

bool GVNPassImpl::isLoadPRESplitBackedgeEnabled ( ) const

Definition at line 1177 of file GVN.cpp.

References GVNEnableSplitBackedgeInLoadPRE.

◆ isMemDepEnabled()

bool GVNPassImpl::isMemDepEnabled ( ) const

Definition at line 1182 of file GVN.cpp.

References GVNEnableMemDep, and isMemorySSAEnabled().

◆ isMemorySSAEnabled()

bool GVNPassImpl::isMemorySSAEnabled ( ) const

Definition at line 1191 of file GVN.cpp.

References GVNEnableMemorySSA.

Referenced by isMemDepEnabled().

◆ isScalarPREEnabled()

bool GVNPassImpl::isScalarPREEnabled ( ) const

Definition at line 1165 of file GVN.cpp.

References GVNEnableScalarPRE.

◆ salvageAndRemoveInstruction()

void GVNPassImpl::salvageAndRemoveInstruction ( Instruction * I)

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

Definition at line 1230 of file GVN.cpp.

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

◆ GVNLegacyPass

friend class GVNLegacyPass
friend

Definition at line 307 of file GVN.cpp.

References F, and GVNLegacyPass.

Referenced by GVNLegacyPass.

◆ llvm::GVNPass

friend class llvm::GVNPass
friend

Definition at line 306 of file GVN.cpp.


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