LLVM 22.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={}) | |
LLVM_ABI PreservedAnalyses | run (Function &F, FunctionAnalysisManager &AM) |
Run the pass over the function. | |
LLVM_ABI void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
LLVM_ABI 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 |
LLVM_ABI bool | isPREEnabled () const |
LLVM_ABI bool | isLoadPREEnabled () const |
LLVM_ABI bool | isLoadInLoopPREEnabled () const |
LLVM_ABI bool | isLoadPRESplitBackedgeEnabled () const |
LLVM_ABI bool | isMemDepEnabled () const |
LLVM_ABI bool | isMemorySSAEnabled () 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 |
Definition at line 132 of file GVN.h.
Referenced by llvm::GVNPass::ValueTable::operator=(), and llvm::GVNPass::ValueTable::phiTranslate().
|
inline |
Definition at line 145 of file GVN.h.
Referenced by ConstructSSAForLoadSet().
|
inline |
bool GVNPass::isLoadInLoopPREEnabled | ( | ) | const |
Definition at line 864 of file GVN.cpp.
References GVNEnableLoadInLoopPRE.
bool GVNPass::isLoadPREEnabled | ( | ) | const |
Definition at line 860 of file GVN.cpp.
References GVNEnableLoadPRE.
bool GVNPass::isLoadPRESplitBackedgeEnabled | ( | ) | const |
Definition at line 868 of file GVN.cpp.
References GVNEnableSplitBackedgeInLoadPRE.
bool GVNPass::isMemDepEnabled | ( | ) | const |
bool GVNPass::isMemorySSAEnabled | ( | ) | const |
bool GVNPass::isPREEnabled | ( | ) | const |
Definition at line 856 of file GVN.cpp.
References GVNEnablePRE.
void GVNPass::printPipeline | ( | raw_ostream & | OS, |
function_ref< StringRef(StringRef)> | MapClassName2PassName ) |
PreservedAnalyses GVNPass::run | ( | Function & | F, |
FunctionAnalysisManager & | AM ) |
Run the pass over the function.
Definition at line 881 of file GVN.cpp.
References llvm::PreservedAnalyses::all(), assert(), Changed, F, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getCachedResult(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), isMemDepEnabled(), isMemorySSAEnabled(), and llvm::PreservedAnalyses::preserve().
void GVNPass::salvageAndRemoveInstruction | ( | Instruction * | I | ) |
This removes the specified instruction from our various maps and marks it for deletion.
Definition at line 933 of file GVN.cpp.
References I, llvm::salvageDebugInfo(), and llvm::salvageKnowledge().
|
friend |
|
friend |
Definition at line 245 of file GVN.h.
Referenced by llvm::createGVNPass().