Debian Patches

Status for spirv-llvm-translator-17/17.0.0-5

Patch Description Author Forwarded Bugs Origin Last update
0001-do-not-rely-on-version-of-compiler-being-VER.0.0-219.patch [PATCH] do not rely on version of compiler being $VER.0.0 (#2195) Dmitry Sidorov <dmitry.sidorov@intel.com> no 2023-10-26
0002-Backport-to-17-Update-LongConstantCompositeINTEL-to-.patch [PATCH 2/5] [Backport to 17] Update LongConstantCompositeINTEL to LongCompositesINTEL capability after Headers change (#2258) (#2308)

* Bump SPIRV-Headers to 1c6bb2743599e6eb6f37b2969acc0aef812e32e3
* replace internal SPV_INTEL_long_composites ext with the published SPV_INTEL_long_composites
* don't rename extension for now
This closes: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/2261
Dmitry Sidorov <dmitry.sidorov@intel.com> no 2024-01-23
0003-Backport-to-17-add-initial-f16-type-support-for-atom.patch [PATCH 3/5] [Backport to 17] add initial f16 type support for atomicrmw in llvm-spirv translator (#2210) (#2334)

This PR aims to add f16 type support for atomicrmw in llvm-spirv translator, with the reference to the extension documented in [1].
There are two concerns related to the subject:

SPIRVAtomicFAddEXTInst::getRequiredExtension() should return a list of required extension to support the requirement to list both SPV_EXT_shader_atomic_float16_add and SPV_EXT_shader_atomic_float_add extensions in the module (see "Extension Name" section of the ref [1]). However, the return type is std::optional<ExtensionID> and returning a vector would need a bigger rework.
Including SPV_EXT_shader_atomic_float16_add into --spirv-ext argument of llvm-spirv doesn't result in producing the correspondent capability (AtomicFloat16AddEXT) and extension in a SPIRV output.
$ llvm-spirv AtomicFAddEXT.ll.tmp.bc --spirv-ext=+SPV_EXT_shader_atomic_float_add,+SPV_EXT_shader_atomic_float16_add -o AtomicFAddEXT.ll.tmp.spv
$ llvm-spirv -to-text AtomicFAddEXT.ll.tmp.spv -o /dev/stdout
...
2 Capability AtomicFloat32AddEXT
2 Capability AtomicFloat64AddEXT
9 Extension "SPV_EXT_shader_atomic_float_add"
...
This prevents extending the test case of AtomicFAddEXT.ll in EXT/SPV_EXT_shader_atomic_float.

References:
[1] https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/EXT/SPV_EXT_shader_atomic_float16_add.asciidoc
Mateusz Chudyk <mateusz.chudyk@intel.com> no 2024-02-01
0004-SPV-SPV-IR-Fix-image-builtin-mangling-of-unsigned-ty.patch [PATCH 4/5] [SPV -> SPV-IR] Fix image builtin mangling of unsigned type (#2273) (#2336)

Return type of image read and Texel type of image write builtins may be
unsigned. Before this PR, the builtin names in SPIR-V Friendly IR were
always mangled with signed type.

(cherry picked from commit e9b95fbc3f58c7d8084620fd58b8bd936c640d37)
Wenju He <wenju.he@intel.com> no 2024-02-01
0005-Backport-to-17-DebugInfo-Preserve-DIExpression-in-DI.patch [PATCH 5/5] [Backport to 17][DebugInfo] Preserve DIExpression in DIGlobalVariableExpression (#2326)

Ensure that SPIR-V that uses a DebugGlobalVariable's Variable field to hold an Expression
can be reverse translated. A Variable field can be used to hold an Expression in order to
preserve a DIExpression in a DIGlobalVariableExpression in LLVM IR.
LU-JOHN <111294400+LU-JOHN@users.noreply.github.com> no 2024-02-05
0006-Backport-to-17-Fix-allowed-types-for-OpConstantNull-.patch [PATCH 06/12] [Backport to 17] Fix allowed types for OpConstantNull (#2361)

The SPIR-V Specification allows `OpConstantNull` types to be scalar or
vector booleans, integers, or floats. Update an assert for this and
add a SPIR-V -> LLVM IR test.

(cherry picked from commit 9ec969c1c379bde69522b3b9278e5f7aa1a2c9f9)
Sven van Haastregt <sven.vanhaastregt@arm.com> no 2024-02-15
0007-Add-support-for-IAddCarry-SPIRV-instruction-2167.patch [PATCH 07/12] Add support for IAddCarry SPIRV instruction (#2167)
This commit implements bidirectional translation of the llvm.uadd.with.overflow and the IAddCarry intrinsic.
Intrinsic llvm.uadd.with.overflow returns struct which second element have a type of i1.
The llvm type i1 is, in llvm-spirv, directly translated to BoolType.
SPIRV specification requires that the composite which returns from IAddCarry needs to have both elements of the same type.
In result, current implementation is not compliant and should be considered temporary.
bwlodarcz <bertrand.wlodarczyk@intel.com> no 2023-10-12
0008-Add-support-for-ISubBorrow-SPIRV-instruction-2168.patch [PATCH 08/12] Add support for ISubBorrow SPIRV instruction (#2168)
This commit implements bidirectional translation of the llvm.usub.with.overflow and the ISubBorrow intrinsic.
Intrinsic llvm.usub.with.overflow returns struct which second element have a type of i1.
The llvm type i1 is, in llvm-spirv, directly translated to BoolType.
SPIRV specification requires that the composite which returns from ISubBorrow needs to have both elements of the same type.
In result, current implementation is not compliant and should be considered temporary.
bwlodarcz <bertrand.wlodarczyk@intel.com> no 2023-10-13
0009-Backport-to-17-Fix-function-with-unused-sret-paramet.patch [PATCH 09/12] [Backport to 17] Fix function with unused sret parameter (#2381) (#2386)

Usually sret parameters are accessed by a memory instruction, from which
would tell SPIRVTypeScavenger which type to use for this function
parameter. But if sret parameter is unused later in the module scavenger
would fail attempting to deduce type from the mangled name.
Dmitry Sidorov <dmitry.sidorov@intel.com> no 2024-03-05
0010-Backport-to-17-Support-SPV_INTEL_maximum_registers-e.patch [PATCH 10/12] [Backport to 17] Support SPV_INTEL_maximum_registers extension (#2344) (#2393)

Spec:
KhronosGroup/SPIRV-Registry#235
Vlad Korovin <vladislav.korovin@intel.com> no 2024-03-06
0011-Backport-to-17-Handle-OpVectorShuffle-with-differing.patch [PATCH 11/12] [Backport to 17] Handle OpVectorShuffle with differing vector sizes (#2391) (#2410)

The SPIR-V to LLVM conversion would bail out when encountering an
`OpVectorShuffle` whose vector operands differ in size. SPIR-V
allows differing vector sizes, but LLVM's `shufflevector` does not.

Remove the assert and insert an additional `shufflevector` to align
the vector operands when needed.

(cherry picked from commit 3df5e38250a6d7c50b58fbb0393be81d909487ff)
Sven van Haastregt <sven.vanhaastregt@arm.com> no 2024-03-06
0012-LLVM-17-Remove-dependency-on-SPIRV-Headers-for-SPV_I.patch [PATCH 12/12] [LLVM-17] Remove dependency on SPIRV-Headers for SPV_INTEL_maximum_registers (#2435) Viktoria Maximova <viktoria.maksimova@intel.com> no 2024-03-13
visibility-hidden.patch reduce the amount of symbols exposed by the library Andreas Beckmann <anbe@debian.org> no

All known versions for source package 'spirv-llvm-translator-17'

Links