LLVM  11.0.0git
llvm::CGSCCAnalysisManagerModuleProxy::Result<> Class Template Reference

We need a specialized result for the CGSCCAnalysisManagerModuleProxy so it can have access to the call graph in order to walk all the SCCs when invalidating things. More...

#include "llvm/Analysis/CGSCCPassManager.h"

## Public Member Functions

Result (CGSCCAnalysisManager &InnerAM, LazyCallGraph &G)

CGSCCAnalysisManagergetManager ()
Accessor for the analysis manager. More...

bool invalidate (Module &M, const PreservedAnalyses &PA, ModuleAnalysisManager::Invalidator &Inv)
Handler for invalidation of the Module. More...

## Detailed Description

### template<> class llvm::CGSCCAnalysisManagerModuleProxy::Result<>

We need a specialized result for the CGSCCAnalysisManagerModuleProxy so it can have access to the call graph in order to walk all the SCCs when invalidating things.

Definition at line 172 of file CGSCCPassManager.h.

## ◆ Result()

 llvm::CGSCCAnalysisManagerModuleProxy::Result<>::Result ( CGSCCAnalysisManager & InnerAM, LazyCallGraph & G )
inlineexplicit

Definition at line 174 of file CGSCCPassManager.h.

## ◆ getManager()

 CGSCCAnalysisManager& llvm::CGSCCAnalysisManagerModuleProxy::Result<>::getManager ( )
inline

Accessor for the analysis manager.

Definition at line 178 of file CGSCCPassManager.h.

## ◆ invalidate()

 bool llvm::CGSCCAnalysisManagerModuleProxy::Result<>::invalidate ( Module & M, const PreservedAnalyses & PA, ModuleAnalysisManager::Invalidator & Inv )

Handler for invalidation of the Module.

If the proxy analysis itself is preserved, then we assume that the set of SCCs in the Module hasn't changed. Thus any pointers to SCCs in the CGSCCAnalysisManager are still valid, and we don't need to call clear on the CGSCCAnalysisManager.

Regardless of whether this analysis is marked as preserved, all of the analyses in the CGSCCAnalysisManager are potentially invalidated based on the set of preserved analyses.

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