Skip to content

Commit

Permalink
[SPIRV][DOC] Add new decoration to SPV_INTEL_function_pointers spec (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
KornevNikita authored Nov 19, 2021
1 parent 5bb3ab9 commit a203fe7
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion sycl/doc/extensions/SPIRV/SPV_INTEL_function_pointers.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ https://github.com/intel/llvm/issues
- Ben Ashbaugh, Intel
- Pawel Jurek, Intel
- Thomas Raoux, Intel
- Nikita Kornev, Intel

== Notice

Expand All @@ -37,7 +38,7 @@ If you are interested in using this feature in your software product, please let
[width="40%",cols="25,25"]
|==================================
| Last Modified Date | {docdate}
| Revision | G
| Revision | H
|==================================

== Dependencies
Expand All @@ -62,6 +63,8 @@ corresponding capabilities:
pointer to a function from the module and pass it as argument into one of
entry points where it will be used.
See *cl_intel_function_pointers* extension specification for more details.
- One new decoration added under *FunctionPointersINTEL* to preserve argument
attributes of *OpFunctionPointerCall*.

== Extension Name

Expand Down Expand Up @@ -98,6 +101,12 @@ Decorations added under the *IndirectlyReferencableINTEL* capability:
ReferencedIndirectlyINTEL
----

Decorations added under the *FunctionPointersINTEL* capability:

----
ArgumentAttributeINTEL
----

== New Storage Classes

Storage Classes added under the *FunctionPointersINTEL* capability:
Expand All @@ -119,6 +128,7 @@ CodeSectionINTEL
|FunctionPointersINTEL | 5603
|IndirectReferencesINTEL | 5604
|CodeSectionINTEL | 5605
|ArgumentAttributeINTEL | 6409
|====

== Modifications to the SPIR-V Specification, Version 1.4
Expand Down Expand Up @@ -178,6 +188,15 @@ but it's address can be obtained and passed into an Entry Point for further
usage via *OpFunctionPointerCallINTEL*. This function must not be optimized
out based on call graph/reachability analysis 2+||
*IndirectReferencesINTEL*|
6409 | *ArgumentAttributeINTEL* +
Indicates an attribute of argument of an indirect function call. Apply to an *OpFunctionPointerCallINTEL*. +
_Index_ is an unsigned 32-bit integer indicating the argument number _N_. The attribute is applied to _Argument N_ of *OpFunctionPointerCallINTEL*. _Argument Attribute_ specifies which attribute is applied, its possible values are enumerated in section "Function Parameter Attribute" of the core SPIR-V specification.
2+|
_<<Literal, Literal>> +
Index +
<<Argument Attribute, Argument Attribute>> +
Argument Attribute_ |
*FunctionPointersINTEL*|
|====

=== Capabilities
Expand Down Expand Up @@ -336,4 +355,5 @@ be used for ones out of the box and we don't have much use-cases for it.
|F|2019-06-21|Alexey Sachkov|Added new storage class dedicated for function
pointers. Updated validation rules. Misc updates.
|G|2019-07-19|Ben Ashbaugh|Assigned SPIR-V enums, added preview extension disclaimer text.
|H|2021-11-15|Nikita Kornev|Added new *ArgumentAttributeINTEL* decoration.
|========================================

0 comments on commit a203fe7

Please sign in to comment.