|
LLVM
4.0.0
|
Manages a sequence of passes over a particular unit of IR. More...
#include <PassManager.h>
Public Member Functions | |
| PassManager (bool DebugLogging=false) | |
| Construct a pass manager. More... | |
| PassManager (PassManager &&Arg) | |
| PassManager & | operator= (PassManager &&RHS) |
| PreservedAnalyses | run (IRUnitT &IR, AnalysisManagerT &AM, ExtraArgTs...ExtraArgs) |
| Run all of the passes in this manager over the given unit of IR. More... | |
| template<typename PassT > | |
| void | addPass (PassT Pass) |
| template<> | |
| PreservedAnalyses | run (LazyCallGraph::SCC &InitialC, CGSCCAnalysisManager &AM, LazyCallGraph &G, CGSCCUpdateResult &UR) |
| template<> | |
| PreservedAnalyses | run (Loop &InitialL, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AnalysisResults, LPMUpdater &U) |
| template<> | |
| PreservedAnalyses | run (LazyCallGraph::SCC &InitialC, CGSCCAnalysisManager &AM, LazyCallGraph &G, CGSCCUpdateResult &UR) |
| template<> | |
| PreservedAnalyses | run (Loop &L, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR, LPMUpdater &U) |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::PassInfoMixin< PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs...> > | |
| static StringRef | name () |
| Gets the name of the pass we are mixed into. More... | |
Manages a sequence of passes over a particular unit of IR.
A pass manager contains a sequence of passes to run over a particular unit of IR (e.g. Functions, Modules). It is itself a valid pass over that unit of IR, and when run over some given IR will run each of its contained passes in sequence. Pass managers are the primary and most basic building block of a pass pipeline.
When you run a pass manager, you provide an AnalysisManager<IRUnitT> argument. The pass manager will propagate that analysis manager to each pass it runs, and will call the analysis manager's invalidation routine with the PreservedAnalyses of each pass it runs.
Definition at line 389 of file PassManager.h.
|
inlineexplicit |
Construct a pass manager.
If DebugLogging is true, we'll log our progress to llvm::dbgs().
Definition at line 395 of file PassManager.h.
|
inline |
Definition at line 401 of file PassManager.h.
|
inline |
Definition at line 454 of file PassManager.h.
Referenced by llvm::PassBuilder::buildFunctionSimplificationPipeline(), llvm::PassBuilder::buildLTODefaultPipeline(), and llvm::PassBuilder::buildPerModuleDefaultPipeline().
|
inline |
Definition at line 405 of file PassManager.h.
| PreservedAnalyses llvm::PassManager< Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & >::run | ( | Loop & | L, |
| LoopAnalysisManager & | AM, | ||
| LoopStandardAnalysisResults & | AR, | ||
| LPMUpdater & | U | ||
| ) |
Definition at line 26 of file LoopPassManager.cpp.
References llvm::PreservedAnalyses::all(), llvm::dbgs(), llvm::PreservedAnalyses::intersect(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::invalidate(), L, llvm::PreservedAnalyses::preserveSet(), and llvm::LPMUpdater::skipCurrentLoop().
| PreservedAnalyses llvm::PassManager< LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &, CGSCCUpdateResult & >::run | ( | LazyCallGraph::SCC & | InitialC, |
| CGSCCAnalysisManager & | AM, | ||
| LazyCallGraph & | G, | ||
| CGSCCUpdateResult & | UR | ||
| ) |
Definition at line 35 of file CGSCCPassManager.cpp.
References llvm::PreservedAnalyses::all(), assert(), llvm::LazyCallGraph::SCC::begin(), C, llvm::dbgs(), llvm::LazyCallGraph::SCC::end(), llvm::PreservedAnalyses::intersect(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::invalidate(), llvm::CGSCCUpdateResult::InvalidatedSCCs, llvm::PreservedAnalyses::preserveSet(), and llvm::CGSCCUpdateResult::UpdatedC.
| PreservedAnalyses llvm::PassManager< Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & >::run | ( | Loop & | InitialL, |
| LoopAnalysisManager & | AM, | ||
| LoopStandardAnalysisResults & | AnalysisResults, | ||
| LPMUpdater & | U | ||
| ) |
| PreservedAnalyses llvm::PassManager< LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &, CGSCCUpdateResult & >::run | ( | LazyCallGraph::SCC & | InitialC, |
| CGSCCAnalysisManager & | AM, | ||
| LazyCallGraph & | G, | ||
| CGSCCUpdateResult & | UR | ||
| ) |
|
inline |
Run all of the passes in this manager over the given unit of IR.
ExtraArgs are passed to each pass.
Definition at line 413 of file PassManager.h.
References llvm::PreservedAnalyses::all(), llvm::dbgs(), llvm::PreservedAnalyses::intersect(), and llvm::PreservedAnalyses::preserveSet().
1.8.6