LLVM 19.0.0git
Classes | Public Member Functions | List of all members
llvm::FunctionAnalysisManagerCGSCCProxy Class Reference

A proxy from a FunctionAnalysisManager to an SCC. More...

#include "llvm/Analysis/CGSCCPassManager.h"

Inheritance diagram for llvm::FunctionAnalysisManagerCGSCCProxy:
Inheritance graph
[legend]

Classes

class  Result
 

Public Member Functions

Result run (LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &)
 Computes the FunctionAnalysisManager and stores it in the result proxy.
 
- Public Member Functions inherited from llvm::PassInfoMixin< DerivedT >
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::AnalysisInfoMixin< FunctionAnalysisManagerCGSCCProxy >
static AnalysisKeyID ()
 Returns an opaque, unique ID for this analysis type.
 
- Static Public Member Functions inherited from llvm::PassInfoMixin< DerivedT >
static StringRef name ()
 Gets the name of the pass we are mixed into.
 

Detailed Description

A proxy from a FunctionAnalysisManager to an SCC.

When a module pass runs and triggers invalidation, both the CGSCC and Function analysis manager proxies on the module get an invalidation event. We don't want to fully duplicate responsibility for most of the invalidation logic. Instead, this layer is only responsible for SCC-local invalidation events. We work with the module's FunctionAnalysisManager to invalidate function analyses.

Definition at line 392 of file CGSCCPassManager.h.

Member Function Documentation

◆ run()

FunctionAnalysisManagerCGSCCProxy::Result llvm::FunctionAnalysisManagerCGSCCProxy::run ( LazyCallGraph::SCC C,
CGSCCAnalysisManager AM,
LazyCallGraph CG 
)

Computes the FunctionAnalysisManager and stores it in the result proxy.

Definition at line 660 of file CGSCCPassManager.cpp.

References assert(), llvm::CallingConv::C, and llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult().


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