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

A module analysis which acts as a proxy for a CGSCC analysis manager. More...

#include <CGSCCPassManager.h>

Classes

class  Result
 

Public Member Functions

 CGSCCAnalysisManagerModuleProxy (CGSCCAnalysisManager &CGAM)
 
 CGSCCAnalysisManagerModuleProxy (const CGSCCAnalysisManagerModuleProxy &Arg)
 
 CGSCCAnalysisManagerModuleProxy (CGSCCAnalysisManagerModuleProxy &&Arg)
 
CGSCCAnalysisManagerModuleProxyoperator= (CGSCCAnalysisManagerModuleProxy RHS)
 
Result run (Module &M)
 Run the analysis pass and create our proxy result object. More...
 

Static Public Member Functions

static void * ID ()
 
static StringRef name ()
 

Detailed Description

A module analysis which acts as a proxy for a CGSCC analysis manager.

This primarily proxies invalidation information from the module analysis manager and module pass manager to a CGSCC analysis manager. You should never use a CGSCC 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 52 of file CGSCCPassManager.h.

Constructor & Destructor Documentation

llvm::CGSCCAnalysisManagerModuleProxy::CGSCCAnalysisManagerModuleProxy ( CGSCCAnalysisManager CGAM)
inlineexplicit

Definition at line 90 of file CGSCCPassManager.h.

llvm::CGSCCAnalysisManagerModuleProxy::CGSCCAnalysisManagerModuleProxy ( const CGSCCAnalysisManagerModuleProxy Arg)
inline

Definition at line 94 of file CGSCCPassManager.h.

llvm::CGSCCAnalysisManagerModuleProxy::CGSCCAnalysisManagerModuleProxy ( CGSCCAnalysisManagerModuleProxy &&  Arg)
inline

Definition at line 96 of file CGSCCPassManager.h.

Member Function Documentation

static void* llvm::CGSCCAnalysisManagerModuleProxy::ID ( )
inlinestatic
static StringRef llvm::CGSCCAnalysisManagerModuleProxy::name ( )
inlinestatic

Definition at line 88 of file CGSCCPassManager.h.

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

Definition at line 99 of file CGSCCPassManager.h.

References std::swap().

CGSCCAnalysisManagerModuleProxy::Result CGSCCAnalysisManagerModuleProxy::run ( Module M)

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 CGSCC analysis manager.

In debug builds, it will also assert that the analysis manager is empty as no queries should arrive at the CGSCC analysis manager prior to this analysis being requested.

Definition at line 19 of file CGSCCPassManager.cpp.

References llvm::AnalysisManager< IRUnitT >::empty().


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