class RepeatedPass

Declaration

template <typename PassT>
class RepeatedPass { /* full declaration omitted */ };

Description

A utility pass template that simply runs another pass multiple times. This can be useful when debugging or testing passes. It also serves as an example of how to extend the pass manager in ways beyond composition.

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

Templates

PassT

Member Variables

private int Count
private PassT P

Method Overview

  • public RepeatedPass<PassT>(int Count, PassT && P)
  • public void printPipeline(llvm::raw_ostream & OS, function_ref<llvm::StringRef (llvm::StringRef)> MapClassName2PassName)
  • public template <typename IRUnitT, typename AnalysisManagerT, typename... Ts>llvm::PreservedAnalyses run(IRUnitT & IR, AnalysisManagerT & AM, Ts &&... Args)

Methods

RepeatedPass<PassT>(int Count, PassT&& P)

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

Parameters

int Count
PassT&& P

void printPipeline(
    llvm::raw_ostream& OS,
    function_ref<llvm::StringRef(llvm::StringRef)>
        MapClassName2PassName)

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

Parameters

llvm::raw_ostream& OS
function_ref<llvm::StringRef(llvm::StringRef)> MapClassName2PassName

template <typename IRUnitT,
          typename AnalysisManagerT,
          typename... Ts>
llvm::PreservedAnalyses run(IRUnitT& IR,
                            AnalysisManagerT& AM,
                            Ts&&... Args)

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

Templates

IRUnitT
AnalysisManagerT
Ts

Parameters

IRUnitT& IR
AnalysisManagerT& AM
Ts&&... Args