KhronosGroup / KhronosGroup/SPIRV-LLVM-Translator
[SPIR-V Backend][SPIR Triples] Align SPIR target triples between SPIR-V Backend and SYCL/Clang frontend
- 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
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