LLVM  3.7.0
Classes | Public Member Functions | Static Public Member Functions | List of all members
llvm::FunctionAnalysisManagerCGSCCProxy Class Reference

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)
 
FunctionAnalysisManagerCGSCCProxyoperator= (FunctionAnalysisManagerCGSCCProxy RHS)
 
Result run (LazyCallGraph::SCC &C)
 Run the analysis pass and create our proxy result object. More...
 

Static Public Member Functions

static void * ID ()
 
static StringRef name ()
 

Detailed Description

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 277 of file CGSCCPassManager.h.

Constructor & Destructor Documentation

llvm::FunctionAnalysisManagerCGSCCProxy::FunctionAnalysisManagerCGSCCProxy ( FunctionAnalysisManager FAM)
inlineexplicit

Definition at line 315 of file CGSCCPassManager.h.

llvm::FunctionAnalysisManagerCGSCCProxy::FunctionAnalysisManagerCGSCCProxy ( const FunctionAnalysisManagerCGSCCProxy Arg)
inline

Definition at line 319 of file CGSCCPassManager.h.

llvm::FunctionAnalysisManagerCGSCCProxy::FunctionAnalysisManagerCGSCCProxy ( FunctionAnalysisManagerCGSCCProxy &&  Arg)
inline

Definition at line 322 of file CGSCCPassManager.h.

Member Function Documentation

static void* llvm::FunctionAnalysisManagerCGSCCProxy::ID ( )
inlinestatic

Definition at line 311 of file CGSCCPassManager.h.

static StringRef llvm::FunctionAnalysisManagerCGSCCProxy::name ( )
inlinestatic

Definition at line 313 of file CGSCCPassManager.h.

FunctionAnalysisManagerCGSCCProxy& llvm::FunctionAnalysisManagerCGSCCProxy::operator= ( FunctionAnalysisManagerCGSCCProxy  RHS)
inline

Definition at line 325 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 48 of file CGSCCPassManager.cpp.


The documentation for this class was generated from the following files: