LLVM  3.7.0
Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT > Class Template Reference

The core module pass which does a post-order walk of the SCCs and runs a CGSCC pass over each one. More...

#include <CGSCCPassManager.h>

Public Member Functions

 ModuleToPostOrderCGSCCPassAdaptor (CGSCCPassT Pass)
 
 ModuleToPostOrderCGSCCPassAdaptor (const ModuleToPostOrderCGSCCPassAdaptor &Arg)
 
 ModuleToPostOrderCGSCCPassAdaptor (ModuleToPostOrderCGSCCPassAdaptor &&Arg)
 
ModuleToPostOrderCGSCCPassAdaptoroperator= (ModuleToPostOrderCGSCCPassAdaptor RHS)
 
PreservedAnalyses run (Module &M, ModuleAnalysisManager *AM)
 Runs the CGSCC pass across every SCC in the module. More...
 

Static Public Member Functions

static StringRef name ()
 

Friends

void swap (ModuleToPostOrderCGSCCPassAdaptor &LHS, ModuleToPostOrderCGSCCPassAdaptor &RHS)
 

Detailed Description

template<typename CGSCCPassT>
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.

Designed to allow composition of a CGSCCPass(Manager) and a ModulePassManager. Note that this pass must be run with a module analysis manager as it uses the LazyCallGraph analysis. It will also run the CGSCCAnalysisManagerModuleProxy analysis prior to running the CGSCC pass over the module to enable a FunctionAnalysisManager to be used within this run safely.

Definition at line 195 of file CGSCCPassManager.h.

Constructor & Destructor Documentation

template<typename CGSCCPassT >
llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::ModuleToPostOrderCGSCCPassAdaptor ( CGSCCPassT  Pass)
inlineexplicit

Definition at line 197 of file CGSCCPassManager.h.

template<typename CGSCCPassT >
llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::ModuleToPostOrderCGSCCPassAdaptor ( const ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT > &  Arg)
inline

Definition at line 201 of file CGSCCPassManager.h.

template<typename CGSCCPassT >
llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::ModuleToPostOrderCGSCCPassAdaptor ( ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT > &&  Arg)
inline

Definition at line 204 of file CGSCCPassManager.h.

Member Function Documentation

template<typename CGSCCPassT >
static StringRef llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::name ( )
inlinestatic

Definition at line 255 of file CGSCCPassManager.h.

template<typename CGSCCPassT >
ModuleToPostOrderCGSCCPassAdaptor& llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::operator= ( ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >  RHS)
inline
template<typename CGSCCPassT >
PreservedAnalyses llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::run ( Module M,
ModuleAnalysisManager AM 
)
inline

Friends And Related Function Documentation

template<typename CGSCCPassT >
void swap ( ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT > &  LHS,
ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT > &  RHS 
)
friend

The documentation for this class was generated from the following file: