LLVM
15.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. More... | |
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. More... | |
DominatorTree & | getDominatorTree () const |
AAResults * | getAliasAnalysis () const |
MemoryDependenceResults & | getMemDep () const |
bool | isPREEnabled () const |
bool | isLoadPREEnabled () const |
bool | isLoadInLoopPREEnabled () const |
bool | isLoadPRESplitBackedgeEnabled () const |
bool | isMemDepEnabled () const |
![]() | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Friends | |
class | gvn::GVNLegacyPass |
struct | DenseMapInfo< Expression > |
Additional Inherited Members | |
![]() | |
static StringRef | name () |
Gets the name of the pass we are mixed into. More... | |
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 138 of file GVN.h.
References llvm::GVNPass::ValueTable::getAliasAnalysis().
|
inline |
Definition at line 137 of file GVN.h.
Referenced by ConstructSSAForLoadSet(), and llvm::gvn::AvailableValue::MaterializeAdjustedValue().
|
inline |
Definition at line 139 of file GVN.h.
Referenced by llvm::gvn::AvailableValue::MaterializeAdjustedValue().
bool GVNPass::isLoadInLoopPREEnabled | ( | ) | const |
Definition at line 703 of file GVN.cpp.
References GVNEnableLoadInLoopPRE, and Options.
bool GVNPass::isLoadPREEnabled | ( | ) | const |
Definition at line 699 of file GVN.cpp.
References GVNEnableLoadPRE, and Options.
bool GVNPass::isLoadPRESplitBackedgeEnabled | ( | ) | const |
Definition at line 707 of file GVN.cpp.
References GVNEnableSplitBackedgeInLoadPRE, and Options.
bool GVNPass::isMemDepEnabled | ( | ) | const |
Definition at line 712 of file GVN.cpp.
References GVNEnableMemDep, and Options.
bool GVNPass::isPREEnabled | ( | ) | const |
Definition at line 695 of file GVN.cpp.
References GVNEnablePRE, and Options.
|
inline |
This removes the specified instruction from our various maps and marks it for deletion.
Definition at line 132 of file GVN.h.
References llvm::GVNPass::ValueTable::erase(), and I.
void GVNPass::printPipeline | ( | raw_ostream & | OS, |
function_ref< StringRef(StringRef)> | MapClassName2PassName | ||
) |
Definition at line 744 of file GVN.cpp.
References llvm::None, and Options.
PreservedAnalyses GVNPass::run | ( | Function & | F, |
FunctionAnalysisManager & | AM | ||
) |
Run the pass over the function.
Definition at line 716 of file GVN.cpp.
References llvm::PreservedAnalyses::all(), F, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getCachedResult(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::PreservedAnalyses::preserve(), and runImpl().
|
friend |
|
friend |