|
LLVM
3.7.0
|
This header provides classes for managing passes over SCCs of the call graph. More...
Go to the source code of this file.
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
Typedefs | |
| typedef PassManager < LazyCallGraph::SCC > | llvm::CGSCCPassManager |
| The CGSCC pass manager. More... | |
| typedef AnalysisManager < LazyCallGraph::SCC > | llvm::CGSCCAnalysisManager |
| The CGSCC analysis manager. More... | |
Functions | |
| template<typename CGSCCPassT > | |
| ModuleToPostOrderCGSCCPassAdaptor < CGSCCPassT > | llvm::createModuleToPostOrderCGSCCPassAdaptor (CGSCCPassT Pass) |
| A function to deduce a function pass type and wrap it in the templated adaptor. More... | |
| template<typename FunctionPassT > | |
| CGSCCToFunctionPassAdaptor < FunctionPassT > | llvm::createCGSCCToFunctionPassAdaptor (FunctionPassT Pass) |
| A function to deduce a function pass type and wrap it in the templated adaptor. More... | |
This header provides classes for managing passes over SCCs of the call graph.
These passes form an important component of LLVM's interprocedural optimizations. Because they operate on the SCCs of the call graph, and they wtraverse the graph in post order, they can effectively do pair-wise interprocedural optimizations for all call edges in the program. At each call site edge, the callee has already been optimized as much as is possible. This in turn allows very accurate analysis of it for IPO.
Definition in file CGSCCPassManager.h.
1.8.6