|
LLVM
3.7.0
|
Manages a sequence of passes over units 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, AnalysisManager< IRUnitT > *AM=nullptr) |
| Run all of the passes in this manager over the IR. More... | |
| template<typename PassT > | |
| void | addPass (PassT Pass) |
Static Public Member Functions | |
| static StringRef | name () |
Manages a sequence of passes over units of IR.
A pass manager contains a sequence of passes to run over units of IR. It is itself a valid pass over that unit of IR, and when over some given IR will run each pass in sequence. This is the primary and most basic building block of a pass pipeline.
If it is run with an AnalysisManager<IRUnitT> argument, it will propagate that analysis manager to each pass it runs, as well as calling the analysis manager's invalidation routine with the PreservedAnalyses of each pass it runs.
Definition at line 180 of file PassManager.h.
|
inline |
Construct a pass manager.
It can be passed a flag to get debug logging as the passes are run.
Definition at line 185 of file PassManager.h.
|
inline |
Definition at line 188 of file PassManager.h.
|
inline |
Definition at line 235 of file PassManager.h.
Referenced by llvm::PassBuilder::parsePassPipeline().
|
inlinestatic |
Definition at line 240 of file PassManager.h.
|
inline |
Definition at line 191 of file PassManager.h.
|
inline |
Run all of the passes in this manager over the IR.
Definition at line 198 of file PassManager.h.
References llvm::PreservedAnalyses::all(), llvm::dbgs(), and llvm::PreservedAnalyses::intersect().
1.8.6