LLVM 20.0.0git
Classes | Namespaces | Functions
PassInstrumentation.h File Reference

This file defines the Pass Instrumentation classes that provide instrumentation points into the pass execution by PassManager. More...

#include "llvm/ADT/Any.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/FunctionExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Support/Compiler.h"
#include <type_traits>
#include <vector>

Go to the source code of this file.

Classes

struct  llvm::PassInstrumentationCallbacks
 This class manages callbacks registration, as well as provides a way for PassInstrumentation to pass control to the registered callbacks. More...
 
class  llvm::PassInstrumentation
 This class provides instrumentation entry points for the Pass Manager, doing calls to callbacks registered in PassInstrumentationCallbacks. More...
 
class  llvm::PassInstrumentationAnalysis
 Pseudo-analysis pass that exposes the PassInstrumentation to pass managers. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

bool llvm::isSpecialPass (StringRef PassID, const std::vector< StringRef > &Specials)
 

Detailed Description

This file defines the Pass Instrumentation classes that provide instrumentation points into the pass execution by PassManager.

There are two main classes:

PassInstrumentation object is being used as a result of PassInstrumentationAnalysis (so it is intended to be easily copyable).

Intended scheme of use for Pass Instrumentation is as follows:

Definition in file PassInstrumentation.h.