LLVM 20.0.0git
|
The core GVN pass object. More...
#include "llvm/Transforms/Scalar/GVN.h"
Classes | |
struct | Expression |
class | ValueTable |
This class holds the mapping between values and value numbers. More... | |
Public Member Functions | |
GVNPass (GVNOptions Options={}) | |
PreservedAnalyses | run (Function &F, FunctionAnalysisManager &AM) |
Run the pass over the function. | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
void | markInstructionForDeletion (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 | isPREEnabled () const |
bool | isLoadPREEnabled () const |
bool | isLoadInLoopPREEnabled () const |
bool | isLoadPRESplitBackedgeEnabled () const |
bool | isMemDepEnabled () const |
Public Member Functions inherited from llvm::PassInfoMixin< GVNPass > | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Friends | |
class | gvn::GVNLegacyPass |
struct | DenseMapInfo< Expression > |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::PassInfoMixin< GVNPass > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. | |
The core GVN pass object.
FIXME: We should have a good summary of the GVN algorithm implemented by this particular pass here.
|
inline |
|
inline |
Definition at line 139 of file GVN.h.
References llvm::GVNPass::ValueTable::getAliasAnalysis().
|
inline |
Definition at line 138 of file GVN.h.
Referenced by ConstructSSAForLoadSet().
|
inline |
bool GVNPass::isLoadInLoopPREEnabled | ( | ) | const |
Definition at line 810 of file GVN.cpp.
References llvm::GVNOptions::AllowLoadInLoopPRE, and GVNEnableLoadInLoopPRE.
bool GVNPass::isLoadPREEnabled | ( | ) | const |
Definition at line 806 of file GVN.cpp.
References llvm::GVNOptions::AllowLoadPRE, and GVNEnableLoadPRE.
bool GVNPass::isLoadPRESplitBackedgeEnabled | ( | ) | const |
Definition at line 814 of file GVN.cpp.
References llvm::GVNOptions::AllowLoadPRESplitBackedge, and GVNEnableSplitBackedgeInLoadPRE.
bool GVNPass::isMemDepEnabled | ( | ) | const |
Definition at line 819 of file GVN.cpp.
References llvm::GVNOptions::AllowMemDep, and GVNEnableMemDep.
Referenced by run().
bool GVNPass::isPREEnabled | ( | ) | const |
Definition at line 802 of file GVN.cpp.
References llvm::GVNOptions::AllowPRE, and GVNEnablePRE.
|
inline |
This removes the specified instruction from our various maps and marks it for deletion.
Definition at line 133 of file GVN.h.
References llvm::GVNPass::ValueTable::erase(), I, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
void GVNPass::printPipeline | ( | raw_ostream & | OS, |
function_ref< StringRef(StringRef)> | MapClassName2PassName | ||
) |
Definition at line 850 of file GVN.cpp.
References llvm::GVNOptions::AllowLoadPRE, llvm::GVNOptions::AllowLoadPRESplitBackedge, llvm::GVNOptions::AllowMemDep, llvm::GVNOptions::AllowPRE, OS, and printPipeline().
Referenced by printPipeline().
PreservedAnalyses GVNPass::run | ( | Function & | F, |
FunctionAnalysisManager & | AM | ||
) |
Run the pass over the function.
Definition at line 823 of file GVN.cpp.
References llvm::PreservedAnalyses::all(), F, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getCachedResult(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), isMemDepEnabled(), and llvm::PreservedAnalyses::preserve().
|
friend |
|
friend |
Definition at line 218 of file GVN.h.
Referenced by llvm::createGVNPass().