class PassManager

Declaration

template <typename IRUnitT,
          typename AnalysisManagerT = AnalysisManager<IRUnitT>,
          typename... ExtraArgTs>
class PassManager { /* full declaration omitted */ };

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

Templates

IRUnitT
AnalysisManagerT = AnalysisManager<IRUnitT>
ExtraArgTs

Method Overview

Methods

PassManager<IRUnitT,
            AnalysisManagerT,
            ExtraArgTs...>(
    bool DebugLogging = false)

Description

Construct a pass manager. If \p DebugLogging is true, we'll log our progress to llvm::dbgs().

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

Parameters

bool DebugLogging = false

PassManager<IRUnitT,
            AnalysisManagerT,
            ExtraArgTs...>(
    PassManager<IRUnitT,
                AnalysisManagerT,
                ExtraArgTs...>&& Arg)

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

Parameters

PassManager<IRUnitT, AnalysisManagerT, ExtraArgTs...>&& Arg

template <typename PassT>
void addPass(PassT Pass)

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

Templates

PassT

Parameters

PassT Pass

llvm::PreservedAnalyses run(
    IRUnitT& IR,
    AnalysisManagerT& AM,
    ExtraArgTs... ExtraArgs)

Description

Run all of the passes in this manager over the given unit of IR. ExtraArgs are passed to each pass.

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

Parameters

IRUnitT& IR
AnalysisManagerT& AM
ExtraArgTs... ExtraArgs