struct AnalysisPassModel

Declaration

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

Description

Wrapper to model the analysis pass concept. Can wrap any type which implements a suitable \c run method. The method must accept an \c IRUnitT& and an \c AnalysisManager<IRUnitT>& as arguments and produce an object which can be wrapped in a \c AnalysisResultModel.

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

Templates

IRUnitT
PassT
PreservedAnalysesT
InvalidatorT
ExtraArgTs

Member Variables

public PassT Pass

Method Overview

Methods

AnalysisPassModel<IRUnitT,
                  PassT,
                  PreservedAnalysesT,
                  InvalidatorT,
                  ExtraArgTs...>(PassT Pass)

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

Parameters

PassT Pass

AnalysisPassModel<IRUnitT,
                  PassT,
                  PreservedAnalysesT,
                  InvalidatorT,
                  ExtraArgTs...>(
    const AnalysisPassModel<IRUnitT,
                            PassT,
                            PreservedAnalysesT,
                            InvalidatorT,
                            ExtraArgTs...>& Arg)

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

Parameters

const AnalysisPassModel<IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs...>& Arg

AnalysisPassModel<IRUnitT,
                  PassT,
                  PreservedAnalysesT,
                  InvalidatorT,
                  ExtraArgTs...>(
    AnalysisPassModel<IRUnitT,
                      PassT,
                      PreservedAnalysesT,
                      InvalidatorT,
                      ExtraArgTs...>&& Arg)

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

Parameters

AnalysisPassModel<IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs...>&& Arg

llvm::StringRef name() const

Description

The model delegates to a static \c PassT::name method. The returned string ref must point to constant immutable data!

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

int run(
    IRUnitT& IR,
    AnalysisManager<IRUnitT, ExtraArgTs...>& AM,
    ExtraArgTs... ExtraArgs)

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

Parameters

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