class ModuleToPostOrderCGSCCPassAdaptor
Declaration
template <typename CGSCCPassT>
class ModuleToPostOrderCGSCCPassAdaptor { /* full declaration omitted */ };
Description
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\c CGSCCAnalysisManagerModuleProxy analysis prior to running the CGSCC pass over the module to enable a \c FunctionAnalysisManager to be used within this run safely.
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:330
Templates
- CGSCCPassT
Method Overview
- public ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>(CGSCCPassT Pass)
- public ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>(const ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT> & Arg)
- public ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>(ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT> && Arg)
- public llvm::PreservedAnalyses run(llvm::Module & M, llvm::ModuleAnalysisManager & AM)
Methods
¶ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>(
CGSCCPassT Pass)
ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>(
CGSCCPassT Pass)
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:333
Parameters
- CGSCCPassT Pass
¶ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>(
const ModuleToPostOrderCGSCCPassAdaptor<
CGSCCPassT>& Arg)
ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>(
const ModuleToPostOrderCGSCCPassAdaptor<
CGSCCPassT>& Arg)
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:338
Parameters
- const ModuleToPostOrderCGSCCPassAdaptor< CGSCCPassT>& Arg
¶ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>(
ModuleToPostOrderCGSCCPassAdaptor<
CGSCCPassT>&& Arg)
ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>(
ModuleToPostOrderCGSCCPassAdaptor<
CGSCCPassT>&& Arg)
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:342
Parameters
- ModuleToPostOrderCGSCCPassAdaptor<CGSCCPassT>&& Arg
¶llvm::PreservedAnalyses run(
llvm::Module& M,
llvm::ModuleAnalysisManager& AM)
llvm::PreservedAnalyses run(
llvm::Module& M,
llvm::ModuleAnalysisManager& AM)
Description
Runs the CGSCC pass across every SCC in the module.
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:357