|
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 134 of file GVN.h.
Referenced by llvm::GVNPass::ValueTable::operator=(), and llvm::GVNPass::ValueTable::phiTranslate().
|
inline |
Definition at line 147 of file GVN.h.
Referenced by ConstructSSAForLoadSet().
|
inline |
| bool GVNPass::isLoadInLoopPREEnabled | ( | ) | const |
Definition at line 861 of file GVN.cpp.
References GVNEnableLoadInLoopPRE.
| bool GVNPass::isLoadPREEnabled | ( | ) | const |
Definition at line 857 of file GVN.cpp.
References GVNEnableLoadPRE.
| bool GVNPass::isLoadPRESplitBackedgeEnabled | ( | ) | const |
Definition at line 865 of file GVN.cpp.
References GVNEnableSplitBackedgeInLoadPRE.
| bool GVNPass::isMemDepEnabled | ( | ) | const |
| bool GVNPass::isMemorySSAEnabled | ( | ) | const |
| bool GVNPass::isPREEnabled | ( | ) | const |
Definition at line 853 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 878 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 930 of file GVN.cpp.
References I, llvm::salvageDebugInfo(), and llvm::salvageKnowledge().
|
friend |
|
friend |
Definition at line 247 of file GVN.h.
Referenced by llvm::createGVNPass().