llvm::instrumentor::InstrumentationConfig

Configuration for the instrumentor pass.

Synopsis

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

struct InstrumentationConfig;

Description

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.

Member Functions

NameDescription
InstrumentationConfig [constructor]Construct an instrumentation configuration with the base options.
~InstrumentationConfig [destructor] [virtual]Destroy the instrumentation configuration.
addBaseChoice Add a base configuration option into the list of base options.
addChoice Register an instrumentation opportunity.
getBasePointerInfo Return the base pointer info for a value.
getGlobalString Return a global string constant for S, creating it if needed.
getRTName getRTName overloads
init Initialize the config to a clean base state without losing cached values.
populate [virtual]Populate the instrumentation opportunities.

Static Member Functions

NameDescription
allocate Allocate an object of type Ty using a bump allocator.

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 Whether function names passed to the runtime are demangled.
FunctionRegex Regex matched against function names to select instrumentation.
GPUEnabled Whether GPU targets are instrumented.
GlobalStringsMap Mapping to remember global strings passed to the runtime.
HostEnabled Whether non-GPU (host) targets are instrumented.
IChoices Registered instrumentation opportunities by location and name.
InlineRuntimeEagerly Whether runtime calls should be inlined eagerly.
RuntimeBitcode Path to runtime bitcode to link, if any.
RuntimePrefix The base configuration options.
RuntimeStubsFile File path where runtime stub declarations should be written.
SS String saver backed by StringAllocator.
StringAllocator Allocator used for configuration and opportunity strings.
TargetRegex Regex matched against the module target triple.
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 IConf.
writeConfigToJSONWrite the configuration in IConf to the file with path OutputFile.