LLVM API Documentation

Classes | Namespaces | Functions
CGSCCPassManager.h File Reference
#include "llvm/IR/PassManager.h"
#include "llvm/Analysis/LazyCallGraph.h"
Include dependency graph for CGSCCPassManager.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::CGSCCPassManager
struct  llvm::CGSCCPassManager::CGSCCPassModel< PassT >
class  llvm::CGSCCAnalysisManager
 A function analysis manager to coordinate and cache analyses run over a module. More...
class  llvm::CGSCCAnalysisManagerModuleProxy
 A module analysis which acts as a proxy for a CGSCC analysis manager. More...
class  llvm::CGSCCAnalysisManagerModuleProxy::Result
class  llvm::ModuleAnalysisManagerCGSCCProxy
 A CGSCC analysis which acts as a proxy for a module analysis manager. More...
class  llvm::ModuleAnalysisManagerCGSCCProxy::Result
 Result proxy object for ModuleAnalysisManagerCGSCCProxy. More...
class  llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >
 The core module pass which does a post-order walk of the SCCs and runs a CGSCC pass over each one. More...
class  llvm::FunctionAnalysisManagerCGSCCProxy
 A CGSCC analysis which acts as a proxy for a function analysis manager. More...
class  llvm::FunctionAnalysisManagerCGSCCProxy::Result
class  llvm::CGSCCAnalysisManagerFunctionProxy
 A function analysis which acts as a proxy for a CGSCC analysis manager. More...
class  llvm::CGSCCAnalysisManagerFunctionProxy::Result
 Result proxy object for ModuleAnalysisManagerFunctionProxy. More...
class  llvm::CGSCCToFunctionPassAdaptor< FunctionPassT >
 Adaptor that maps from a SCC to its functions. More...

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


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.
template<typename FunctionPassT >
CGSCCToFunctionPassAdaptor
< FunctionPassT > 
llvm::createCGSCCToFunctionPassAdaptor (FunctionPassT Pass)
 A function to deduce a function pass type and wrap it in the templated adaptor.

Detailed Description

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.