class PassInstrumentationCallbacks

Declaration

class PassInstrumentationCallbacks { /* full declaration omitted */ };

Description

This class manages callbacks registration, as well as provides a way for PassInstrumentation to pass control to the registered callbacks.

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:66

Member Variables

private SmallVector<llvm::unique_function<BeforePassFunc>, 4> ShouldRunOptionalPassCallbacks
These are only run on passes that are not required. They return false when an optional pass should be skipped.
private SmallVector< llvm::unique_function<BeforeSkippedPassFunc>, 4> BeforeSkippedPassCallbacks
These are run on passes that are skipped.
private SmallVector<llvm::unique_function< BeforeNonSkippedPassFunc>, 4> BeforeNonSkippedPassCallbacks
These are run on passes that are about to be run.
private SmallVector<llvm::unique_function<AfterPassFunc>, 4> AfterPassCallbacks
These are run on passes that have just run.
private SmallVector<llvm::unique_function< AfterPassInvalidatedFunc>, 4> AfterPassInvalidatedCallbacks
These are run passes that have just run on invalidated IR.
private SmallVector< llvm::unique_function<BeforeAnalysisFunc>, 4> BeforeAnalysisCallbacks
These are run on analyses that are about to be run.
private SmallVector< llvm::unique_function<AfterAnalysisFunc>, 4> AfterAnalysisCallbacks
These are run on analyses that have been run.
private SmallVector<llvm::unique_function< AnalysisInvalidatedFunc>, 4> AnalysisInvalidatedCallbacks
These are run on analyses that have been invalidated.
private SmallVector< llvm::unique_function<AnalysesClearedFunc>, 4> AnalysesClearedCallbacks
These are run on analyses that have been cleared.
private StringMap<std::string> ClassToPassName

Method Overview

Methods

PassInstrumentationCallbacks()

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:89

PassInstrumentationCallbacks(
    const llvm::PassInstrumentationCallbacks&)

Description

Copying PassInstrumentationCallbacks is not intended.

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:92

Parameters

const llvm::PassInstrumentationCallbacks&

void addClassToPassName(llvm::StringRef ClassName,
                        llvm::StringRef PassName)

Description

Add a class name to pass name mapping for use by pass instrumentation.

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:140

Parameters

llvm::StringRef ClassName
llvm::StringRef PassName

llvm::StringRef getPassNameForClassName(
    llvm::StringRef ClassName)

Description

Get the pass name for a given pass class name.

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:142

Parameters

llvm::StringRef ClassName

template <typename CallableT>
void registerAfterAnalysisCallback(CallableT C)

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:125

Templates

CallableT

Parameters

CallableT C

template <typename CallableT>
void registerAfterPassCallback(CallableT C)

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:110

Templates

CallableT

Parameters

CallableT C

template <typename CallableT>
void registerAfterPassInvalidatedCallback(
    CallableT C)

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:115

Templates

CallableT

Parameters

CallableT C

template <typename CallableT>
void registerAnalysesClearedCallback(CallableT C)

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:135

Templates

CallableT

Parameters

CallableT C

template <typename CallableT>
void registerAnalysisInvalidatedCallback(
    CallableT C)

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:130

Templates

CallableT

Parameters

CallableT C

template <typename CallableT>
void registerBeforeAnalysisCallback(CallableT C)

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:120

Templates

CallableT

Parameters

CallableT C

template <typename CallableT>
void registerBeforeNonSkippedPassCallback(
    CallableT C)

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:106

Templates

CallableT

Parameters

CallableT C

template <typename CallableT>
void registerBeforeSkippedPassCallback(
    CallableT C)

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:101

Templates

CallableT

Parameters

CallableT C

template <typename CallableT>
void registerShouldRunOptionalPassCallback(
    CallableT C)

Declared at: llvm/include/llvm/IR/PassInstrumentation.h:96

Templates

CallableT

Parameters

CallableT C