LLVM API Documentation
A CGSCC analysis which acts as a proxy for a function analysis manager. More...
#include <CGSCCPassManager.h>
Classes | |
class | Result |
Public Member Functions | |
FunctionAnalysisManagerCGSCCProxy (FunctionAnalysisManager &FAM) | |
FunctionAnalysisManagerCGSCCProxy (const FunctionAnalysisManagerCGSCCProxy &Arg) | |
FunctionAnalysisManagerCGSCCProxy (FunctionAnalysisManagerCGSCCProxy &&Arg) | |
FunctionAnalysisManagerCGSCCProxy & | operator= (FunctionAnalysisManagerCGSCCProxy RHS) |
Result | run (LazyCallGraph::SCC *C) |
Run the analysis pass and create our proxy result object. | |
Static Public Member Functions | |
static void * | ID () |
A CGSCC analysis which acts as a proxy for a function analysis manager.
This primarily proxies invalidation information from the CGSCC analysis manager and CGSCC pass manager to a function analysis manager. You should never use a function analysis manager from within (transitively) a CGSCC pass manager unless your parent CGSCC pass has received a proxy result object for it.
Definition at line 384 of file CGSCCPassManager.h.
llvm::FunctionAnalysisManagerCGSCCProxy::FunctionAnalysisManagerCGSCCProxy | ( | FunctionAnalysisManager & | FAM | ) | [inline, explicit] |
Definition at line 420 of file CGSCCPassManager.h.
llvm::FunctionAnalysisManagerCGSCCProxy::FunctionAnalysisManagerCGSCCProxy | ( | const FunctionAnalysisManagerCGSCCProxy & | Arg | ) | [inline] |
Definition at line 424 of file CGSCCPassManager.h.
llvm::FunctionAnalysisManagerCGSCCProxy::FunctionAnalysisManagerCGSCCProxy | ( | FunctionAnalysisManagerCGSCCProxy && | Arg | ) | [inline] |
Definition at line 427 of file CGSCCPassManager.h.
static void* llvm::FunctionAnalysisManagerCGSCCProxy::ID | ( | ) | [inline, static] |
Definition at line 418 of file CGSCCPassManager.h.
FunctionAnalysisManagerCGSCCProxy& llvm::FunctionAnalysisManagerCGSCCProxy::operator= | ( | FunctionAnalysisManagerCGSCCProxy | RHS | ) | [inline] |
Definition at line 430 of file CGSCCPassManager.h.
References std::swap().
FunctionAnalysisManagerCGSCCProxy::Result FunctionAnalysisManagerCGSCCProxy::run | ( | LazyCallGraph::SCC * | C | ) |
Run the analysis pass and create our proxy result object.
This doesn't do any interesting work, it is primarily used to insert our proxy result object into the module analysis cache so that we can proxy invalidation to the function analysis manager.
In debug builds, it will also assert that the analysis manager is empty as no queries should arrive at the function analysis manager prior to this analysis being requested.
Definition at line 143 of file CGSCCPassManager.cpp.