Skip to content

Tags: neonkore/SPIRV-LLVM-Translator

Tags

v13.0.0

Toggle v13.0.0's commit message
Translate OpOrdered and OpUnordered to fcmp instructions

Instead of translating this instructions to OCL builtin calls, use core llvm
fcmp instructions for better code preservation during translation.

fixed tests

separated fcmp test from OCL builtins

v12.0.0

Toggle v12.0.0's commit message
Move OCL-IR translation logic related to EIS instructions to SPIRVToO…

…CL pass

This change also fixes vstore translation for SPV-IR generation path and adds
test for vstore and printf.

dev-build

Toggle dev-build's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Accept intrinsic namings into -spirv-allow-unknown-intrinsics (Khrono…

…sGroup#912)

Previously, enabling the option would let all intrinsics through
the translator. From now on, the option can be configured so
that only specific intrinsic calls with the given prefix are
allowed, while those not matching the prefix will result in an
error as if no option was given.

The allowed intrinsic prefixes are fed into the option as a
comma-separated list, akin to `--spirv-ext`. The list can also
be left unspecified, which, as before, will accept all intrinsic
calls into SPIR-V.

One of the relevant use cases involves llvm.genx.* intrinsics,
which stem from SYCL ESIMD code, but can also mix with common LLVM
intrinsics that stem from regular SYCL code. It would be desirable
to allow ESIMD-specific intrinsics, but still error out on other
unknown ones, To better highlight this case, all ESIMD-specific
tests have been switched to passing an explicit prefix to the
CLI option.

v11.0.0

Toggle v11.0.0's commit message
Support missing DWARF opcodes (KhronosGroup#679)

Experimental support of extra DWARF operations

As this functionality is not documented by any formal SPIR-V extension or SPIR-V
extended instruction set specification, it is disabled by default and in order
to enable generation of extra debug information, user needs to pass
`spirv-allow-extra-diexpressions` command line option to the
translator.

Signed-off-by: Andrew Savonichev <[email protected]>

v10.0.0

Toggle v10.0.0's commit message
[Backport] Implementation of SPV_INTEL_inline_assembly extension

Extension is published as github.com/intel/llvm/pull/1290
Original commit: github.com/KhronosGroup/SPIRV-LLVM-Translator/commit/7a0767f2a

v9.0.1-1

Toggle v9.0.1-1's commit message
Backport fix translation of read_image* built-ins to SPIR-V to 9.0 re…

…lease

There are several overloads of read_image function defined by OpenCL C
spec, but all of them use the same SPIR-V instruction, so, we need to
add one more optional postfix to differentiate instructions with the
same argument types, but different return types.

Example:
- int4 read_imagei(image2d_t, sampler_t, int2)
- float4 read_imagef(image2d_t, sampler_t, int2)

Both functions above are represented by the same SPIR-V instruction and
we need to distinguish them in SPIR-V friendly LLVM IR.

Signed-off-by: Alexey Sachkov <[email protected]>

v8.0.1-3

Toggle v8.0.1-3's commit message
Fix translation of read_image* built-ins to SPIR-V

There are several overloads of read_image function defined by OpenCL C
spec, but all of them use the same SPIR-V instruction, so, we need to
add one more optional postfix to differentiate instructions with the
same argument types, but different return types.

Example:
- int4 read_imagei(image2d_t, sampler_t, int2)
- float4 read_imagef(image2d_t, sampler_t, int2)

Both functions above are represented by the same SPIR-V instruction and
we need to distinguish them in SPIR-V friendly LLVM IR.

Signed-off-by: Alexey Sachkov <[email protected]>

v9.0.0-1

Toggle v9.0.0-1's commit message
Update LLVM_SPIRV_VERSION in CMakeLists.txt to 9.0.0.1

Signed-off-by: Alexey Sotkin <[email protected]>

v8.0.1-2

Toggle v8.0.1-2's commit message
Move target triple check before translation

Check that the target triple is supported before LLVM to SPIR-V
translation, rather than during translation.  This allows us to
gracefully report InvalidTargetTriple instead of failing the target
triple assertion in PreprocessMetadata.cpp.

v8.0.1-1

Toggle v8.0.1-1's commit message
Tagging 8.0.1 release