LLVM API Documentation
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) | |
ModuleToPostOrderCGSCCPassAdaptor & | operator= (ModuleToPostOrderCGSCCPassAdaptor RHS) |
PreservedAnalyses | run (Module *M, ModuleAnalysisManager *AM) |
Runs the CGSCC pass across every SCC in the module. | |
Static Public Member Functions | |
static StringRef | name () |
Friends | |
void | swap (ModuleToPostOrderCGSCCPassAdaptor &LHS, ModuleToPostOrderCGSCCPassAdaptor &RHS) |
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 303 of file CGSCCPassManager.h.
llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::ModuleToPostOrderCGSCCPassAdaptor | ( | CGSCCPassT | Pass | ) | [inline, explicit] |
Definition at line 305 of file CGSCCPassManager.h.
llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::ModuleToPostOrderCGSCCPassAdaptor | ( | const ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT > & | Arg | ) | [inline] |
Definition at line 309 of file CGSCCPassManager.h.
llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::ModuleToPostOrderCGSCCPassAdaptor | ( | ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT > && | Arg | ) | [inline] |
Definition at line 312 of file CGSCCPassManager.h.
static StringRef llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::name | ( | ) | [inline, static] |
Definition at line 361 of file CGSCCPassManager.h.
ModuleToPostOrderCGSCCPassAdaptor& llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::operator= | ( | ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT > | RHS | ) | [inline] |
Definition at line 320 of file CGSCCPassManager.h.
References std::swap().
PreservedAnalyses llvm::ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT >::run | ( | Module * | M, |
ModuleAnalysisManager * | AM | ||
) | [inline] |
Runs the CGSCC pass across every SCC in the module.
Definition at line 326 of file CGSCCPassManager.h.
References llvm::PreservedAnalyses::all(), llvm::CallingConv::C, llvm::detail::AnalysisManagerBase< DerivedT, IRUnitT >::getResult(), llvm::detail::AnalysisManagerBase< DerivedT, IRUnitT >::invalidate(), and llvm::LazyCallGraph::postorder_sccs().
void swap | ( | ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT > & | LHS, |
ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT > & | RHS | ||
) | [friend] |
Definition at line 314 of file CGSCCPassManager.h.