llvm::instrumentor::InstrumentationConfig

The class that contains the configuration for the instrumentor. It holds the information for each instrumented opportunity, including the base configuration options. Another class may inherit from this one to modify the default behavior.

Synopsis

Declared in <llvm/Transforms/IPO/Instrumentor.h>

struct InstrumentationConfig;

Member Functions

NameDescription
InstrumentationConfig [constructor]Construct an instrumentation configuration with the base options.
~InstrumentationConfig [destructor] [virtual]Destructor
addBaseChoice Add the base configuration option BCO into the list of base options.
addChoice Register instrumentation opportunity IO.
getBasePointerInfo Return the base pointer info for V.
getGlobalString
getRTName getRTName overloads
init Initialize the config to a clean base state without loosing cached values that can be reused across configurations.
populate [virtual]Populate the instrumentation opportunities.

Static Member Functions

NameDescription
allocate Allocate an object of type Ty using a bump allocator and construct it with the Args arguments. The object may not be freed manually.

Data Members

NameDescription
BaseConfigurationOptions The list of enabled base configuration options.
BasePointerInfoMap Map to remember base pointer info for values in a specific function.
ConstantGlobalsCache Mapping from constants to globals with the constant as initializer.
DemangleFunctionNames
FunctionRegex
GPUEnabled
GlobalStringsMap Mapping to remember global strings passed to the runtime.
HostEnabled
IChoices The map registered instrumentation opportunities. The map is indexed by the instrumentation location kind and then by the opportunity name. Notice that an instrumentation location may have more than one instrumentation opportunity registered.
InlineRuntimeEagerly
RuntimeBitcode
RuntimePrefix The base configuration options.
RuntimeStubsFile
SS
StringAllocator Utilities for allocating and building strings.{
TargetRegex
UnderlyingObjsMap Map to remember underlying objects for pointers.

Non-Member Functions

NameDescription
printRuntimeHeaderPrint the runtime header file that provides helper structures and functions for reading data generated by the Instrumentor pass.
printRuntimeStubPrint a runtime stub file with the implementation of the instrumentation runtime functions corresponding to the instrumentation opportunities enabled.
readConfigFromJSONRead the configuration from the file with path InputFile into /p IConf.
writeConfigToJSONWrite the configuration in /p IConf to the file with path OutputFile.