LLVM  8.0.1
Classes | Namespaces
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/FunctionExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/TypeName.h"
#include <type_traits>
Include dependency graph for PassInstrumentation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  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...
 

Namespaces

 llvm
 This class represents lattice values for constants.
 

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:

TODO: currently there is no way for a pass to opt-out of execution control (e.g. become unskippable). PassManager is the only entity that determines how pass instrumentation affects pass execution.

Definition in file PassInstrumentation.h.