class InnerAnalysisManagerProxy::Result

Declaration

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

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

Member Variables

private AnalysisManagerT* InnerAM

Method Overview

  • public Result(AnalysisManagerT & InnerAM)
  • public Result(llvm::InnerAnalysisManagerProxy::Result && Arg)
  • public AnalysisManagerT & getManager()
  • public bool invalidate(IRUnitT & IR, const llvm::PreservedAnalyses & PA, typename AnalysisManager<IRUnitT, ExtraArgTs...>::Invalidator & Inv)
  • public ~Result()

Methods

Result(AnalysisManagerT& InnerAM)

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

Parameters

AnalysisManagerT& InnerAM

Result(
    llvm::InnerAnalysisManagerProxy::Result&& Arg)

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

Parameters

llvm::InnerAnalysisManagerProxy::Result&& Arg

AnalysisManagerT& getManager()

Description

Accessor for the analysis manager.

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

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

Description

Handler for invalidation of the outer IR unit, \c 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 \c 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.

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

Parameters

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

~Result()

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