struct AnalysisPassConcept

Declaration

template <typename IRUnitT,
          typename PreservedAnalysesT,
          typename InvalidatorT,
          typename... ExtraArgTs>
struct AnalysisPassConcept { /* full declaration omitted */ };

Description

Abstract concept of an analysis pass. This concept is parameterized over the IR unit that it can run over and produce an analysis result.

Declared at: llvm/include/llvm/IR/PassManagerInternal.h:271

Templates

IRUnitT
PreservedAnalysesT
InvalidatorT
ExtraArgTs

Method Overview

Methods

virtual llvm::StringRef name() const

Description

Polymorphic method to access the name of a pass.

Declared at: llvm/include/llvm/IR/PassManagerInternal.h:283

virtual std::unique_ptr<
    AnalysisResultConcept<IRUnitT,
                          PreservedAnalysesT,
                          InvalidatorT>>
run(IRUnitT& IR,
    AnalysisManager<IRUnitT, ExtraArgTs...>& AM,
    ExtraArgTs... ExtraArgs)

Description

Method to run this analysis over a unit of IR.

Declared at: llvm/include/llvm/IR/PassManagerInternal.h:279

Parameters

IRUnitT& IR
AnalysisManager<IRUnitT, ExtraArgTs...>& AM
ExtraArgTs... ExtraArgs

Returns

A unique_ptr to the analysis result object to be queried by users.

virtual ~AnalysisPassConcept<IRUnitT,
                             PreservedAnalysesT,
                             InvalidatorT,
                             ExtraArgTs...>()

Declared at: llvm/include/llvm/IR/PassManagerInternal.h:272