GTPin
Data Structures | Functions
GTPin: High-Level Instrumentation (HLI) Parameters and Arguments
GTPin: High-Level Instrumentation Interface (HLIF)

Representation of HLI function's parameters, arguments, their types and values More...

Data Structures

struct  gtpin::IargPrime< ARGT >
 Primary HLI argument value of type ARGT. More...
struct  gtpin::IargHostPtr
 HLI argument that points to an object in the host memory. More...
struct  gtpin::IargDevicePtr
 HLI argument that points to an object in the device memory. More...
struct  gtpin::IargBufferOffset< ARGT >
 HLI argument value of type ARGT that represents offset in the GTPin profile buffer. More...
struct  gtpin::IargTid
 HLI argument that carries current Thread ID value. More...
struct  gtpin::IargFfTid
 HLI argument that carries current Fixed Function Thread ID value. More...
struct  gtpin::IargGrfRange
 HLI argument that represents a mutable array of GRF registers. More...
struct  gtpin::IargConstGrfRange
 HLI argument that represents an immutable array of GRF registers. More...
struct  gtpin::IargSimdMask
 HLI argument that represents mask of effective SIMD channels at the instrumentation point. More...
struct  gtpin::IargInsOpMask
 HLI argument that represents mask of scalar operations performed by the instruction on the vector of data elements. More...
struct  gtpin::IargSlmPtr
 HLI argument that points to SLM memory. More...
class  gtpin::GtHliParamType
 Type of an HLI function parameter. More...
class  gtpin::GtHliParamTraits
 Traits of HLI function parameter. More...
class  gtpin::GtIargType
 Type of an HLI function argument. More...
class  gtpin::IGtIarg
 Abstract representation of the HLI function argument. More...
class  gtpin::IGtIret
 Abstract representation of the HLI function's return value. More...
class  gtpin::GtIargImmValue
 Class that represents an immediate scalar value of the HLI argument and provides conversion methods to/from other trivially copyable types. More...
class  gtpin::IGtIargFactory
 Factory and container of HLI function arguments and return value representations. More...

Functions

template<typename T >
constexpr GtHliParamTraits gtpin::MakeParamTraits ()
 Return GtHliParamTraits for the specified parameter type 'T'.

Detailed Description

Representation of HLI function's parameters, arguments, their types and values

Class IGtIarg defines abstract interface of the HLI argument. Objects of this class are created by IGtIargFactory and passed to the instrumentation function via the IGtGenCoder::GenerateHliCall method.
A more convenient way to specify argument values, and call the instrumentation function, provides class GtHliFunction. It generates a list of IGtIarg objects out of argument values encapsulated into concrete Iarg* objects. e.g. IargPrime, IargHostPtr, IargTid, etc.

Terminology: Function Parameter vs. Function Argument

The term function parameter refer to the variable listed inside the parentheses in the function definition.
The type of the parameter is the type of the corresponding variable in the function definition.

The function argument is the value that is passed to the function when it is called, and the argument type is the type of this value.

The parameter type and the argument type are not always identical, but argument value must be convertible to the corresponding parameter type. The conversion is provided by either compiler or GTPin.

 All Data Structures Functions Variables Typedefs Enumerations Enumerator


  Copyright (C) 2013-2025 Intel Corporation
SPDX-License-Identifier: MIT