LLVM
8.0.1
|
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>
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. | |
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.