LLVM API Documentation
A module analysis which acts as a proxy for a function analysis manager. More...
#include <PassManager.h>
Classes | |
class | Result |
The result proxy object for the FunctionAnalysisManagerModuleProxy . More... | |
Public Member Functions | |
FunctionAnalysisManagerModuleProxy (FunctionAnalysisManager &FAM) | |
FunctionAnalysisManagerModuleProxy (const FunctionAnalysisManagerModuleProxy &Arg) | |
FunctionAnalysisManagerModuleProxy (FunctionAnalysisManagerModuleProxy &&Arg) | |
FunctionAnalysisManagerModuleProxy & | operator= (FunctionAnalysisManagerModuleProxy RHS) |
Result | run (Module *M) |
Run the analysis pass and create our proxy result object. | |
Static Public Member Functions | |
static void * | ID () |
A module analysis which acts as a proxy for a function analysis manager.
This primarily proxies invalidation information from the module analysis manager and module pass manager to a function analysis manager. You should never use a function analysis manager from within (transitively) a module pass manager unless your parent module pass has received a proxy result object for it.
Definition at line 819 of file IR/PassManager.h.
llvm::FunctionAnalysisManagerModuleProxy::FunctionAnalysisManagerModuleProxy | ( | FunctionAnalysisManager & | FAM | ) | [inline, explicit] |
Definition at line 825 of file IR/PassManager.h.
llvm::FunctionAnalysisManagerModuleProxy::FunctionAnalysisManagerModuleProxy | ( | const FunctionAnalysisManagerModuleProxy & | Arg | ) | [inline] |
Definition at line 829 of file IR/PassManager.h.
llvm::FunctionAnalysisManagerModuleProxy::FunctionAnalysisManagerModuleProxy | ( | FunctionAnalysisManagerModuleProxy && | Arg | ) | [inline] |
Definition at line 832 of file IR/PassManager.h.
static void* llvm::FunctionAnalysisManagerModuleProxy::ID | ( | ) | [inline, static] |
Definition at line 823 of file IR/PassManager.h.
Referenced by llvm::FunctionAnalysisManagerModuleProxy::Result::invalidate().
FunctionAnalysisManagerModuleProxy& llvm::FunctionAnalysisManagerModuleProxy::operator= | ( | FunctionAnalysisManagerModuleProxy | RHS | ) | [inline] |
Definition at line 835 of file IR/PassManager.h.
References std::swap().
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 180 of file PassManager.cpp.
References llvm::FunctionAnalysisManager::empty().