LLVM 20.0.0git
Public Types | Public Member Functions | Friends | List of all members
llvm::PassInstrumentationCallbacks Struct Reference

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

#include "llvm/IR/PassInstrumentation.h"

Public Types

using BeforePassFunc = bool(StringRef, Any)
 
using BeforeSkippedPassFunc = void(StringRef, Any)
 
using BeforeNonSkippedPassFunc = void(StringRef, Any)
 
using AfterPassFunc = void(StringRef, Any, const PreservedAnalyses &)
 
using AfterPassInvalidatedFunc = void(StringRef, const PreservedAnalyses &)
 
using BeforeAnalysisFunc = void(StringRef, Any)
 
using AfterAnalysisFunc = void(StringRef, Any)
 
using AnalysisInvalidatedFunc = void(StringRef, Any)
 
using AnalysesClearedFunc = void(StringRef)
 

Public Member Functions

 PassInstrumentationCallbacks ()=default
 
 PassInstrumentationCallbacks (const PassInstrumentationCallbacks &)=delete
 Copying PassInstrumentationCallbacks is not intended.
 
void operator= (const PassInstrumentationCallbacks &)=delete
 
template<typename CallableT >
void registerShouldRunOptionalPassCallback (CallableT C)
 
template<typename CallableT >
void registerBeforeSkippedPassCallback (CallableT C)
 
template<typename CallableT >
void registerBeforeNonSkippedPassCallback (CallableT C)
 
template<typename CallableT >
void registerAfterPassCallback (CallableT C, bool ToFront=false)
 
template<typename CallableT >
void registerAfterPassInvalidatedCallback (CallableT C, bool ToFront=false)
 
template<typename CallableT >
void registerBeforeAnalysisCallback (CallableT C)
 
template<typename CallableT >
void registerAfterAnalysisCallback (CallableT C, bool ToFront=false)
 
template<typename CallableT >
void registerAnalysisInvalidatedCallback (CallableT C)
 
template<typename CallableT >
void registerAnalysesClearedCallback (CallableT C)
 
template<typename CallableT >
void registerClassToPassNameCallback (CallableT C)
 
void addClassToPassName (StringRef ClassName, StringRef PassName)
 Add a class name to pass name mapping for use by pass instrumentation.
 
StringRef getPassNameForClassName (StringRef ClassName)
 Get the pass name for a given pass class name.
 

Friends

class PassInstrumentation
 

Detailed Description

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

Definition at line 75 of file PassInstrumentation.h.

Member Typedef Documentation

◆ AfterAnalysisFunc

Definition at line 93 of file PassInstrumentation.h.

◆ AfterPassFunc

Definition at line 90 of file PassInstrumentation.h.

◆ AfterPassInvalidatedFunc

Definition at line 91 of file PassInstrumentation.h.

◆ AnalysesClearedFunc

Definition at line 95 of file PassInstrumentation.h.

◆ AnalysisInvalidatedFunc

Definition at line 94 of file PassInstrumentation.h.

◆ BeforeAnalysisFunc

Definition at line 92 of file PassInstrumentation.h.

◆ BeforeNonSkippedPassFunc

Definition at line 89 of file PassInstrumentation.h.

◆ BeforePassFunc

Definition at line 87 of file PassInstrumentation.h.

◆ BeforeSkippedPassFunc

Definition at line 88 of file PassInstrumentation.h.

Constructor & Destructor Documentation

◆ PassInstrumentationCallbacks() [1/2]

llvm::PassInstrumentationCallbacks::PassInstrumentationCallbacks ( )
default

◆ PassInstrumentationCallbacks() [2/2]

llvm::PassInstrumentationCallbacks::PassInstrumentationCallbacks ( const PassInstrumentationCallbacks )
delete

Copying PassInstrumentationCallbacks is not intended.

Member Function Documentation

◆ addClassToPassName()

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

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

Definition at line 24 of file PassInstrumentation.cpp.

References PassName.

◆ getPassNameForClassName()

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

◆ operator=()

void llvm::PassInstrumentationCallbacks::operator= ( const PassInstrumentationCallbacks )
delete

◆ registerAfterAnalysisCallback()

template<typename CallableT >
void llvm::PassInstrumentationCallbacks::registerAfterAnalysisCallback ( CallableT  C,
bool  ToFront = false 
)
inline

◆ registerAfterPassCallback()

template<typename CallableT >
void llvm::PassInstrumentationCallbacks::registerAfterPassCallback ( CallableT  C,
bool  ToFront = false 
)
inline

◆ registerAfterPassInvalidatedCallback()

template<typename CallableT >
void llvm::PassInstrumentationCallbacks::registerAfterPassInvalidatedCallback ( CallableT  C,
bool  ToFront = false 
)
inline

◆ registerAnalysesClearedCallback()

template<typename CallableT >
void llvm::PassInstrumentationCallbacks::registerAnalysesClearedCallback ( CallableT  C)
inline

◆ registerAnalysisInvalidatedCallback()

template<typename CallableT >
void llvm::PassInstrumentationCallbacks::registerAnalysisInvalidatedCallback ( CallableT  C)
inline

◆ registerBeforeAnalysisCallback()

template<typename CallableT >
void llvm::PassInstrumentationCallbacks::registerBeforeAnalysisCallback ( CallableT  C)
inline

◆ registerBeforeNonSkippedPassCallback()

template<typename CallableT >
void llvm::PassInstrumentationCallbacks::registerBeforeNonSkippedPassCallback ( CallableT  C)
inline

◆ registerBeforeSkippedPassCallback()

template<typename CallableT >
void llvm::PassInstrumentationCallbacks::registerBeforeSkippedPassCallback ( CallableT  C)
inline

◆ registerClassToPassNameCallback()

template<typename CallableT >
void llvm::PassInstrumentationCallbacks::registerClassToPassNameCallback ( CallableT  C)
inline

Definition at line 161 of file PassInstrumentation.h.

References llvm::CallingConv::C.

Referenced by llvm::PassBuilder::PassBuilder().

◆ registerShouldRunOptionalPassCallback()

template<typename CallableT >
void llvm::PassInstrumentationCallbacks::registerShouldRunOptionalPassCallback ( CallableT  C)
inline

Friends And Related Function Documentation

◆ PassInstrumentation

friend class PassInstrumentation
friend

Definition at line 171 of file PassInstrumentation.h.


The documentation for this struct was generated from the following files: