intel / intel/opencl-clang

Clarify SPIRV Translator dependency and remove custom SPIRV_TRANSLATOR_DIR

Open
#48 2 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C
Stars
140
Forks
92
Avg merge
8h 2m
Merged PRs (30d)
7

Description

We touched these 2 topics in https://github.com/intel/opencl-clang/pull/45#issuecomment-472113082.

1. SPIRV Translator is embedded into LLVM or not?

The default path of common_clang build assumes that https://github.com/KhronosGroup/SPIRV-LLVM-Translator/ will be built and packaged within LLVM build which could result either in separate static library named libLLVMSPIRVLib.a or in a unified LLVM shared library which will include translator library inside.

However, it seems that distributions may incline to build SPIRV Translator as a separate package rather than within LLVM. For example: https://repology.org/project/spirv-llvm-translator/versions - that's what Debian and Ubuntu does.

I would like to use this Issue to collect community feedback on this. @tjaalton, please, comment.

2. How to detect SPIRV Translator on the system?

As of now common_clang already has a path to assure that it works with SPIRV translator as a separate package on the system. If I understand correctly, for that we need to specify 2 options:
`-DLLVMSPIRV_INCLUDED_IN_LLVM=OFF -DSPIRV_TRANSLATOR_DIR=/path/to/installed/spirv/translator`

While 1st option seems reasonable (though we may wish to consider changing the default after feedback on the 1st question), then 2nd option seems excessive. SPIRV translator provides `lib/pkgconfig/LLVMSPIRVLib.pc`, thus we can use standard mechanism to detect it on the system rather than introduce custom `SPIRV_TRANSLATOR_DIR`. **Can this change be introduced?**

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.