15 #ifndef LLVM_XRAY_INSTRUMENTATION_MAP_H 16 #define LLVM_XRAY_INSTRUMENTATION_MAP_H 23 #include <unordered_map> 31 class InstrumentationMap;
109 IO.enumCase(Kind,
"log-args-enter",
111 IO.enumCase(Kind,
"custom-event",
118 IO.mapRequired(
"id", Entry.
FuncId);
119 IO.mapRequired(
"address", Entry.
Address);
120 IO.mapRequired(
"function", Entry.
Function);
121 IO.mapRequired(
"kind", Entry.
Kind);
126 static constexpr
bool flow =
true;
135 #endif // LLVM_XRAY_INSTRUMENTATION_MAP_H
This class represents lattice values for constants.
FunctionKinds
Each entry here represents the kinds of supported instrumentation map entries.
const FunctionAddressMap & getFunctionAddresses()
Provides a raw accessor to the unordered map of function addresses.
static void mapping(IO &IO, xray::YAMLXRaySledEntry &Entry)
bool AlwaysInstrument
Whether the sled was annotated to always be instrumented.
std::unordered_map< uint64_t, int32_t > FunctionAddressReverseMap
FunctionKinds Kind
The kind of sled.
std::vector< SledEntry > SledContainer
Tagged union holding either a T or a Error.
Expected< InstrumentationMap > loadInstrumentationMap(StringRef Filename)
Loads the instrumentation map from |Filename|.
Represents an XRay instrumentation sled entry from an object file.
const SledContainer & sleds() const
Provide read-only access to the entries of the instrumentation map.
SledEntry::FunctionKinds Kind
uint64_t Address
The address of the sled.
static void enumeration(IO &IO, xray::SledEntry::FunctionKinds &Kind)
std::unordered_map< int32_t, uint64_t > FunctionAddressMap
The InstrumentationMap represents the computed function id's and indicated function addresses from an...
uint64_t Function
The address of the function.
StringRef - Represent a constant reference to a string, i.e.