LLVM
8.0.1
|
A simple and fast domtree-based CSE pass. More...
#include "llvm/Transforms/Scalar/EarlyCSE.h"
Public Member Functions | |
EarlyCSEPass (bool UseMemorySSA=false) | |
PreservedAnalyses | run (Function &F, FunctionAnalysisManager &AM) |
Run the pass over the function. More... | |
Public Attributes | |
bool | UseMemorySSA |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::PassInfoMixin< EarlyCSEPass > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. More... | |
A simple and fast domtree-based CSE pass.
This pass does a simple depth-first walk over the dominator tree, eliminating trivially redundant instructions and using instsimplify to canonicalize things as it goes. It is intended to be fast and catch obvious cases so that instcombine and other passes are more effective. It is expected that a later pass of GVN will catch the interesting/hard cases.
Definition at line 31 of file EarlyCSE.h.
Definition at line 32 of file EarlyCSE.h.
PreservedAnalyses EarlyCSEPass::run | ( | Function & | F, |
FunctionAnalysisManager & | AM | ||
) |
Run the pass over the function.
Definition at line 1226 of file EarlyCSE.cpp.
References llvm::AnalysisUsage::addPreserved(), llvm::AnalysisUsage::addRequired(), llvm::PreservedAnalyses::all(), CSE, F(), llvm::Module::getDataLayout(), llvm::GlobalValue::getParent(), llvm::PassRegistry::getPassRegistry(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::initializeEarlyCSELegacyPassPass(), llvm::initializeEarlyCSEMemSSALegacyPassPass(), llvm::PreservedAnalyses::preserve(), llvm::PreservedAnalyses::preserveSet(), runOnFunction(), and llvm::AnalysisUsage::setPreservesCFG().
Referenced by EarlyCSEPass().
bool llvm::EarlyCSEPass::UseMemorySSA |
Definition at line 37 of file EarlyCSE.h.