LLVM 20.0.0git
|
Adaptor that maps from a SCC to its functions. More...
#include "llvm/Analysis/CGSCCPassManager.h"
Public Types | |
using | PassConceptT = detail::PassConcept< Function, FunctionAnalysisManager > |
Public Member Functions | |
CGSCCToFunctionPassAdaptor (std::unique_ptr< PassConceptT > Pass, bool EagerlyInvalidate, bool NoRerun) | |
CGSCCToFunctionPassAdaptor (CGSCCToFunctionPassAdaptor &&Arg) | |
CGSCCToFunctionPassAdaptor & | operator= (CGSCCToFunctionPassAdaptor RHS) |
PreservedAnalyses | run (LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &CG, CGSCCUpdateResult &UR) |
Runs the function pass across every function in the module. | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Public Member Functions inherited from llvm::PassInfoMixin< CGSCCToFunctionPassAdaptor > | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Static Public Member Functions | |
static bool | isRequired () |
Static Public Member Functions inherited from llvm::PassInfoMixin< CGSCCToFunctionPassAdaptor > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. | |
Friends | |
void | swap (CGSCCToFunctionPassAdaptor &LHS, CGSCCToFunctionPassAdaptor &RHS) |
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 CGSCCAnalysisManager
it will run the FunctionAnalysisManagerCGSCCProxy
analysis prior to running the function pass over the SCC to enable a FunctionAnalysisManager
to be used within this run safely.
Definition at line 443 of file CGSCCPassManager.h.
using llvm::CGSCCToFunctionPassAdaptor::PassConceptT = detail::PassConcept<Function, FunctionAnalysisManager> |
Definition at line 446 of file CGSCCPassManager.h.
|
inlineexplicit |
Definition at line 448 of file CGSCCPassManager.h.
|
inline |
Definition at line 453 of file CGSCCPassManager.h.
|
inlinestatic |
Definition at line 489 of file CGSCCPassManager.h.
|
inline |
Definition at line 462 of file CGSCCPassManager.h.
References RHS.
|
inline |
Definition at line 471 of file CGSCCPassManager.h.
References OS.
PreservedAnalyses llvm::CGSCCToFunctionPassAdaptor::run | ( | LazyCallGraph::SCC & | C, |
CGSCCAnalysisManager & | AM, | ||
LazyCallGraph & | CG, | ||
CGSCCUpdateResult & | UR | ||
) |
Runs the function pass across every function in the module.
Definition at line 505 of file CGSCCPassManager.cpp.
References llvm::PreservedAnalyses::all(), assert(), llvm::CallingConv::C, llvm::dbgs(), F, FAM, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getCachedResult(), llvm::PreservedAnalyses::getChecker(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::PreservedAnalyses::intersect(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::invalidate(), LLVM_DEBUG, llvm::LazyCallGraph::lookupSCC(), N, llvm::PreservedAnalyses::none(), llvm::PreservedAnalyses::preserve(), llvm::PreservedAnalyses::preserveSet(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::PassInstrumentation::runAfterPass(), llvm::PassInstrumentation::runBeforePass(), and llvm::updateCGAndAnalysisManagerForFunctionPass().
|
friend |
Definition at line 457 of file CGSCCPassManager.h.