GTPin: GTPin: High-Level Instrumentation (HLI) Parameters and Arguments

GTPin

- Main Page
- Related Pages
- Modules
- Data Structures

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