class ModuleToPostOrderCGSCCPassAdaptor
Declaration
class ModuleToPostOrderCGSCCPassAdaptor : public PassInfoMixin { /* 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:329
Inherits from: PassInfoMixin
Member Variables
- private std::unique_ptr<PassConceptT> Pass
Method Overview
- public ModuleToPostOrderCGSCCPassAdaptor(std::unique_ptr<PassConceptT> Pass)
- public ModuleToPostOrderCGSCCPassAdaptor(llvm::ModuleToPostOrderCGSCCPassAdaptor && Arg)
- public static bool isRequired()
- public void printPipeline(llvm::raw_ostream & OS, function_ref<llvm::StringRef (llvm::StringRef)> MapClassName2PassName)
- public llvm::PreservedAnalyses run(llvm::Module & M, llvm::ModuleAnalysisManager & AM)
Methods
¶ModuleToPostOrderCGSCCPassAdaptor(
std::unique_ptr<PassConceptT> Pass)
ModuleToPostOrderCGSCCPassAdaptor(
std::unique_ptr<PassConceptT> Pass)
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:336
Parameters
- std::unique_ptr<PassConceptT> Pass
¶ModuleToPostOrderCGSCCPassAdaptor(
llvm::ModuleToPostOrderCGSCCPassAdaptor&& Arg)
ModuleToPostOrderCGSCCPassAdaptor(
llvm::ModuleToPostOrderCGSCCPassAdaptor&& Arg)
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:339
Parameters
¶static bool isRequired()
static bool isRequired()
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:363
¶void printPipeline(
llvm::raw_ostream& OS,
function_ref<llvm::StringRef(llvm::StringRef)>
MapClassName2PassName)
void printPipeline(
llvm::raw_ostream& OS,
function_ref<llvm::StringRef(llvm::StringRef)>
MapClassName2PassName)
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:356
Parameters
- llvm::raw_ostream& OS
- function_ref<llvm::StringRef(llvm::StringRef)> MapClassName2PassName
¶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:354