class OuterAnalysisManagerProxy::Result

Declaration

class OuterAnalysisManagerProxy::Result { /* full declaration omitted */ };

Description

Result proxy object for \c OuterAnalysisManagerProxy.

Declared at: llvm/include/llvm/IR/PassManager.h:1067

Member Variables

private const AnalysisManagerT* OuterAM
private SmallDenseMap<llvm::AnalysisKey*, TinyPtrVector<llvm::AnalysisKey*>, 2> OuterAnalysisInvalidationMap
A map from an outer analysis ID to the set of this IR-unit's analyses which need to be invalidated.

Method Overview

  • public Result(const AnalysisManagerT & OuterAM)
  • public template <typename PassT, typename IRUnitTParam>bool cachedResultExists(IRUnitTParam & IR) const
  • public template <typename PassT, typename IRUnitTParam>typename PassT::Result * getCachedResult(IRUnitTParam & IR) const
  • public const SmallDenseMap<llvm::AnalysisKey *, TinyPtrVector<llvm::AnalysisKey *>, 2> & getOuterInvalidations() const
  • public bool invalidate(IRUnitT & IRUnit, const llvm::PreservedAnalyses & PA, typename AnalysisManager<IRUnitT, ExtraArgTs...>::Invalidator & Inv)
  • public template <typename OuterAnalysisT, typename InvalidatedAnalysisT>void registerOuterAnalysisInvalidation()

Methods

Result(const AnalysisManagerT& OuterAM)

Declared at: llvm/include/llvm/IR/PassManager.h:1069

Parameters

const AnalysisManagerT& OuterAM

template <typename PassT, typename IRUnitTParam>
bool cachedResultExists(IRUnitTParam& IR) const

Description

Method provided for unit testing, not intended for general use.

Declared at: llvm/include/llvm/IR/PassManager.h:1084

Templates

PassT
IRUnitTParam

Parameters

IRUnitTParam& IR

template <typename PassT, typename IRUnitTParam>
typename PassT::Result* getCachedResult(
    IRUnitTParam& IR) const

Description

Get a cached analysis. If the analysis can be invalidated, this will assert.

Declared at: llvm/include/llvm/IR/PassManager.h:1074

Templates

PassT
IRUnitTParam

Parameters

IRUnitTParam& IR

const SmallDenseMap<
    llvm::AnalysisKey*,
    TinyPtrVector<llvm::AnalysisKey*>,
    2>&
getOuterInvalidations() const

Description

Access the map from outer analyses to deferred invalidation requiring analyses.

Declared at: llvm/include/llvm/IR/PassManager.h:1133

bool invalidate(
    IRUnitT& IRUnit,
    const llvm::PreservedAnalyses& PA,
    typename AnalysisManager<
        IRUnitT,
        ExtraArgTs...>::Invalidator& Inv)

Description

When invalidation occurs, remove any registered invalidation events.

Declared at: llvm/include/llvm/IR/PassManager.h:1091

Parameters

IRUnitT& IRUnit
const llvm::PreservedAnalyses& PA
typename AnalysisManager<IRUnitT, ExtraArgTs...>:: Invalidator& Inv

template <typename OuterAnalysisT,
          typename InvalidatedAnalysisT>
void registerOuterAnalysisInvalidation()

Description

Register a deferred invalidation event for when the outer analysis manager processes its invalidations.

Declared at: llvm/include/llvm/IR/PassManager.h:1117

Templates

OuterAnalysisT
InvalidatedAnalysisT