LLVM  8.0.1
Public Member Functions | List of all members
llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs >::Result Class Reference

#include "llvm/IR/PassManager.h"

Public Member Functions

 Result (AnalysisManagerT &InnerAM)
 
 Result (Result &&Arg)
 
 ~Result ()
 
Resultoperator= (Result &&RHS)
 
AnalysisManagerT & getManager ()
 Accessor for the analysis manager. More...
 
bool invalidate (IRUnitT &IR, const PreservedAnalyses &PA, typename AnalysisManager< IRUnitT, ExtraArgTs... >::Invalidator &Inv)
 Handler for invalidation of the outer IR unit, IRUnitT. More...
 

Detailed Description

template<typename AnalysisManagerT, typename IRUnitT, typename... ExtraArgTs>
class llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs >::Result

Definition at line 1042 of file PassManager.h.

Constructor & Destructor Documentation

◆ Result() [1/2]

template<typename AnalysisManagerT , typename IRUnitT , typename... ExtraArgTs>
llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs >::Result::Result ( AnalysisManagerT &  InnerAM)
inlineexplicit

◆ Result() [2/2]

template<typename AnalysisManagerT , typename IRUnitT , typename... ExtraArgTs>
llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs >::Result::Result ( Result &&  Arg)
inline

Definition at line 1046 of file PassManager.h.

References Arg.

◆ ~Result()

template<typename AnalysisManagerT , typename IRUnitT , typename... ExtraArgTs>
llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs >::Result::~Result ( )
inline

Definition at line 1053 of file PassManager.h.

Member Function Documentation

◆ getManager()

template<typename AnalysisManagerT , typename IRUnitT , typename... ExtraArgTs>
AnalysisManagerT& llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs >::Result::getManager ( )
inline

◆ invalidate()

template<typename AnalysisManagerT , typename IRUnitT , typename... ExtraArgTs>
bool llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs >::Result::invalidate ( IRUnitT &  IR,
const PreservedAnalyses PA,
typename AnalysisManager< IRUnitT, ExtraArgTs... >::Invalidator &  Inv 
)

Handler for invalidation of the outer IR unit, IRUnitT.

If the proxy analysis itself is not preserved, we assume that the set of inner IR objects contained in IRUnit may have changed. In this case, we have to call clear() on the inner analysis manager, as it may now have stale pointers to its inner IR objects.

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

Referenced by llvm::CGSCCAnalysisManagerModuleProxy::Result<>::getManager(), llvm::FunctionAnalysisManagerCGSCCProxy::Result::getManager(), and llvm::PassManager< Function >::run().

◆ operator=()

template<typename AnalysisManagerT , typename IRUnitT , typename... ExtraArgTs>
Result& llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs >::Result::operator= ( Result &&  RHS)
inline

Definition at line 1063 of file PassManager.h.


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