class CGSCCToFunctionPassAdaptor
Declaration
class CGSCCToFunctionPassAdaptor : public PassInfoMixin { /* full declaration omitted */ };
Description
Adaptor that maps from a SCC to its functions. Designed to allow composition of a FunctionPass(Manager) and a CGSCCPassManager. Note that if this pass is constructed with a pointer to a \c CGSCCAnalysisManager it will run the\c FunctionAnalysisManagerCGSCCProxy analysis prior to running the function pass over the SCC to enable a \c FunctionAnalysisManager to be used within this run safely.
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:459
Inherits from: PassInfoMixin
Member Variables
- private std::unique_ptr<PassConceptT> Pass
- private bool EagerlyInvalidate
- private bool NoRerun
Method Overview
- public CGSCCToFunctionPassAdaptor(std::unique_ptr<PassConceptT> Pass, bool EagerlyInvalidate, bool NoRerun)
- public CGSCCToFunctionPassAdaptor(llvm::CGSCCToFunctionPassAdaptor && Arg)
- public static bool isRequired()
- public void printPipeline(llvm::raw_ostream & OS, function_ref<llvm::StringRef (llvm::StringRef)> MapClassName2PassName)
- public llvm::PreservedAnalyses run(LazyCallGraph::SCC & C, llvm::CGSCCAnalysisManager & AM, llvm::LazyCallGraph & CG, llvm::CGSCCUpdateResult & UR)
Methods
¶CGSCCToFunctionPassAdaptor(
std::unique_ptr<PassConceptT> Pass,
bool EagerlyInvalidate,
bool NoRerun)
CGSCCToFunctionPassAdaptor(
std::unique_ptr<PassConceptT> Pass,
bool EagerlyInvalidate,
bool NoRerun)
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:464
Parameters
- std::unique_ptr<PassConceptT> Pass
- bool EagerlyInvalidate
- bool NoRerun
¶CGSCCToFunctionPassAdaptor(
llvm::CGSCCToFunctionPassAdaptor&& Arg)
CGSCCToFunctionPassAdaptor(
llvm::CGSCCToFunctionPassAdaptor&& Arg)
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:469
Parameters
¶static bool isRequired()
static bool isRequired()
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:497
¶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:487
Parameters
- llvm::raw_ostream& OS
- function_ref<llvm::StringRef(llvm::StringRef)> MapClassName2PassName
¶llvm::PreservedAnalyses run(
LazyCallGraph::SCC& C,
llvm::CGSCCAnalysisManager& AM,
llvm::LazyCallGraph& CG,
llvm::CGSCCUpdateResult& UR)
llvm::PreservedAnalyses run(
LazyCallGraph::SCC& C,
llvm::CGSCCAnalysisManager& AM,
llvm::LazyCallGraph& CG,
llvm::CGSCCUpdateResult& UR)
Description
Runs the function pass across every function in the module.
Declared at: llvm/include/llvm/Analysis/CGSCCPassManager.h:484