LLVM
12.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) | |
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. More... | |
Static Public Member Functions | |
static bool | isRequired () |
![]() | |
static StringRef | name () |
Gets the name of the pass we are mixed into. More... | |
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 459 of file CGSCCPassManager.h.
using llvm::CGSCCToFunctionPassAdaptor::PassConceptT = detail::PassConcept<Function, FunctionAnalysisManager> |
Definition at line 462 of file CGSCCPassManager.h.
|
inlineexplicit |
Definition at line 464 of file CGSCCPassManager.h.
|
inline |
Definition at line 467 of file CGSCCPassManager.h.
|
inlinestatic |
Definition at line 484 of file CGSCCPassManager.h.
|
inline |
Definition at line 475 of file CGSCCPassManager.h.
References std::swap().
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 522 of file CGSCCPassManager.cpp.
References llvm::PreservedAnalyses::all(), assert(), C, llvm::dbgs(), F(), llvm::PreservedAnalyses::getChecker(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::PreservedAnalyses::intersect(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::invalidate(), LLVM_DEBUG, llvm::LazyCallGraph::lookupSCC(), llvm::move(), N, llvm::PreservedAnalyses::preserve(), llvm::PreservedAnalyses::preserveSet(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::PassInstrumentation::runAfterPass(), llvm::PassInstrumentation::runBeforePass(), and llvm::updateCGAndAnalysisManagerForFunctionPass().
|
friend |
Definition at line 470 of file CGSCCPassManager.h.