KhronosGroup / KhronosGroup/SPIRV-LLVM-Translator

[SPIR-V Backend][SPIR Triples] Align SPIR target triples between SPIR-V Backend and SYCL/Clang frontend

Open
#2,177 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
LLVM
Stars
625
Forks
279
Avg merge
3d 5h
Merged PRs (30d)
34

Description

Upstream have started to add SPIRV target that register spirv64.

```
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeSPIRVTargetInfo() {
RegisterTarget X(getTheSPIRV32Target(), "spirv32",
"SPIR-V 32-bit", "SPIRV");
RegisterTarget Y(getTheSPIRV64Target(), "spirv64",
"SPIR-V 64-bit", "SPIRV");
RegisterTarget Z(getTheSPIRVLogicalTarget(), "spirv",
"SPIR-V Logical", "SPIRV");
}
```

There are some warnings emitted when the user/driver specifies 'spir/spir64/spir32' as the triples.
It will be useful to align on how to interpret these triples.

Thanks

Contributor guide

Open the contributing guide

Research direction

Start at LLVMInitializeSPIRVTargetInfo and compare how the SPIR-V backend and SYCL/Clang frontend interpret the spir, spir32, and spir64 triples. The work is done when their interpretations are aligned and the warnings for these user- or driver-specified triples are resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.