LLVM 22.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) |
LLVM_ABI 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 447 of file CGSCCPassManager.h.
using llvm::CGSCCToFunctionPassAdaptor::PassConceptT = detail::PassConcept<Function, FunctionAnalysisManager> |
Definition at line 450 of file CGSCCPassManager.h.
|
inlineexplicit |
Definition at line 452 of file CGSCCPassManager.h.
References llvm::move().
Referenced by CGSCCToFunctionPassAdaptor(), operator=(), and swap.
|
inline |
Definition at line 457 of file CGSCCPassManager.h.
References CGSCCToFunctionPassAdaptor(), and llvm::move().
|
inlinestatic |
Definition at line 494 of file CGSCCPassManager.h.
|
inline |
Definition at line 466 of file CGSCCPassManager.h.
References CGSCCToFunctionPassAdaptor(), RHS, and swap.
|
inline |
Definition at line 476 of file CGSCCPassManager.h.
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 514 of file CGSCCPassManager.cpp.
References llvm::PreservedAnalyses::all(), assert(), llvm::CallingConv::C, llvm::dbgs(), F, FAM, llvm::PreservedAnalyses::getChecker(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::PreservedAnalyses::intersect(), LLVM_DEBUG, llvm::LazyCallGraph::lookupSCC(), llvm::make_pointer_range(), N, llvm::PreservedAnalyses::none(), llvm::PreservedAnalyses::preserve(), llvm::PreservedAnalyses::preserveSet(), llvm::PassInstrumentation::runAfterPass(), llvm::PassInstrumentation::runBeforePass(), and llvm::updateCGAndAnalysisManagerForFunctionPass().
|
friend |
Definition at line 461 of file CGSCCPassManager.h.
References CGSCCToFunctionPassAdaptor(), LHS, RHS, and std::swap().
Referenced by operator=().