CUDA_Indirect_Kernel_Call¶
- class CUDA_Indirect_Kernel_Call (concrete, physical)¶
call used CUDA
function-pointer<<<execution-configuration>>>(args)syntax- Implemented interfaces:
implements CUDA_Kernel_Call_Interface
- Direct parents:
inherits Indirect_Call
- Ancestor classes and implemented interfaces:
CUDA_Kernel_Call_Interface, Expression, Indirect_Call, Linked_Node, Operation, Physical_IR_Root, Routine_Call
Field
Kind
Type
Description
Routine_Expression (from Routine_Call)
syntactic
class Expression
Expression that calculates the target function. Example:
(*a[i]) (a,b,c)`Arguments (from Routine_Call)
syntactic
list of class Expression
Expressions used to compute actual parameters
Call_Target_Is_Declared_After_Call (from Routine_Call)
attribute
builtin Boolean
Whether the call target is not declared before the call (in at least 1 compilation unit). This is possible in template instances; and results in a MisraC++-14.6.2 violation. It is also possible when calling class members from within the class declaration.
Its_Type (from Expression)
semantic to logical
class Type
type of the expression’s result as denoted by the type’s declaration
Is_LValue (from Expression)
attribute
builtin Boolean
Whether this expression is classified as lvalue.
Is_XValue (from Expression)
attribute
builtin Boolean
Whether this expression is classified as C++11 xvalue.
Converted_To_PRValue (from Expression)
attribute
builtin Boolean
Whether this expression is an lvalue or xvalue that is being implicitly converted to a prvalue.
Start_Position_Index (from Expression)
attribute
builtin SLoc_Index_Type
End_Position_Index (from Expression)
attribute
builtin SLoc_Index_Type
Start_Original_Position (from Expression)
attribute
builtin SLoc
Start_Position (from Expression)
attribute
builtin SLoc
End_Original_Position (from Expression)
attribute
builtin SLoc
End_Position (from Expression)
attribute
builtin SLoc
Logical (from Linked_Node)
semantic to logical
class Logical_IR_Root
cross-reference into LIR
Parent (from Physical_IR_Root)
semantic
class Physical_IR_Root
The parent of the node in the syntactic forest.
Original_Position_Index (from Physical_IR_Root)
attribute
builtin SLoc_Index_Type
Internal source location info. If from macro expansion, this location is inside the macro body or macro argument
Original_Position (from Physical_IR_Root)
attribute
builtin SLoc
Source location. If from macro expansion, this location is inside the macro body or macro argument
Position (from Physical_IR_Root)
attribute
builtin SLoc
Source location. If from macro expansion, this location is that of the macro expansion
Artificial (from Physical_IR_Root)
attribute
builtin Boolean
Whether this node was compiler-generated
Parenthesized (from Physical_IR_Root)
attribute
builtin Boolean
Whether this node was enclosed in parentheses (used for expressions)
In_Template_Instance (from Physical_IR_Root)
attribute
builtin Boolean
Whether this node is inside a template instance
Enclosing_Template_Instance (from Physical_IR_Root)
semantic
class Physical_IR_Root
Innermost enclosing template instance if In_Template_Instance is true
Execution_Configuration (from CUDA_Kernel_Call_Interface)
syntactic
list of class Expression
Expressions within the
<<<...>>>execution configuration. In non-templates, these are:grid dimension (
dim3)thread block dimension (
dim3)shared memory size (
std::size_t)associated stream (
cudaStream_t)
In templates, it is additionally possible to have parameter pack expansion within the execution configuration. In that case, there is no direct 1:1 correspondence between list elements and the 4 expected configuration values.