SPIRV-LLVM-Translator-18.1.1

Introduction to SPIRV-LLVM-Translator

The SPIRV-LLVM-Translator package contains a library and utility for converting between LLVM IR and SPIR-V code. This package currently only supports the OpenCL/Compute version of SPIR-V.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

SPIRV-LLVM-Translator Dependencies

Required

libxml2-2.13.1, LLVM-18.1.7, and SPIRV-Tools-1.3.283.0

Installation of SPIRV-LLVM-Translator

Install SPIRV-LLVM-Translator by running the following commands:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr                   \
      -D CMAKE_BUILD_TYPE=Release                    \
      -D BUILD_SHARED_LIBS=ON                        \
      -D CMAKE_SKIP_INSTALL_RPATH=ON                 \
      -D LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr \
      -G Ninja ..                                    &&
ninja

This package does not come with a test suite.

Now, as the root user:

ninja install

Command Explanations

-D BUILD_SHARED_LIBS=ON: This parameter forces building shared versions of the libraries.

-DCMAKE_SKIP_INSTALL_RPATH=ON: This switch makes cmake remove hardcoded library search paths (rpath) when installing a binary executable file or a shared library. This package does not need rpath once it's installed into the standard location, and rpath may sometimes cause unwanted effects or even security issues.

-D LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr: This parameter allows the build system to use the version of SPIRV-Headers that should have been installed as a dependency of SPIRV-Tools, instead of redownloading an unnecessary copy of the headers.

Contents

Installed Programs: llvm-spirv
Installed Libraries: libLLVMSPIRVLib.so
Installed Directories: /usr/include/LLVMSPIRVLib

Short Descriptions

llvm-spirv

converts between LLVM IR and SPIR-V code

libLLVMSPIRVLib.so

contains functions that convert between LLVM IR and SPIR-V code