From b117a0505c3b9a507a86d4757c9a0a85749c68a6 Mon Sep 17 00:00:00 2001 From: Feng Zou Date: Tue, 30 Jun 2020 14:35:57 +0800 Subject: [PATCH 1/7] Build llvm spirv translator from source for opencl-clang CI test --- .travis.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 22008174..fdd172c3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,10 +5,10 @@ os: # Use Ubuntu 16.04 LTS (Xenial) as the Linux testing environment. dist: xenial -sudo: false git: depth: 1 + quiet: true branches: only: @@ -33,10 +33,7 @@ addons: - libclang-8-dev install: - - export TAG=v8.0.1-3 - - export TARBALL=SPIRV-LLVM-Translator-${TAG}-linux-${BUILD_TYPE}.zip - - wget https://github.com/KhronosGroup/SPIRV-LLVM-Translator/releases/download/${TAG}/${TARBALL} -O /tmp/${TARBALL} - - unzip /tmp/${TARBALL} -d spirv-llvm-translator + - git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator.git -b llvm_release_80 spirv-llvm-translator compiler: - gcc From 663ca005282b9b818d1054681373c9e0861e7887 Mon Sep 17 00:00:00 2001 From: Feng Zou Date: Tue, 30 Jun 2020 18:29:23 +0800 Subject: [PATCH 2/7] Use intree build in CI test --- .travis.yml | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index fdd172c3..5c8127e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,25 +21,19 @@ env: - BUILD_TYPE=Release - BUILD_TYPE=Debug -addons: - apt: - sources: - - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main' - key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' - - ubuntu-toolchain-r-test - packages: - - llvm-8-tools - - llvm-8-dev - - libclang-8-dev install: - - git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator.git -b llvm_release_80 spirv-llvm-translator + - git clone https://github.com/llvm-mirror/llvm.git -b release_80 + - cd ./llvm/tools + - git clone https://github.com/llvm-mirror/clang.git -b release_80 + - cd ../projects + - git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator.git -b llvm_release_80 llvm-spirv + - git clone https://github.com/intel/opencl-clang.git -b ocl-open-80 compiler: - gcc - - clang script: - mkdir build && cd build - - cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DLLVM_NO_DEAD_STRIP=ON -DLLVMSPIRV_INCLUDED_IN_LLVM=OFF -DSPIRV_TRANSLATOR_DIR=./spirv-llvm-translator -DCMAKE_INSTALL_PREFIX=./install .. - - make install + - cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DLLVM_NO_DEAD_STRIP=ON --DCMAKE_INSTALL_PREFIX=./install ../llvm + - make -j`nproc` From f5382a0d6aafbf450e0215d71e79f62f730f1080 Mon Sep 17 00:00:00 2001 From: Feng Zou Date: Tue, 30 Jun 2020 18:38:08 +0800 Subject: [PATCH 3/7] Correct the path --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 5c8127e3..de61b5e9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,6 +29,7 @@ install: - cd ../projects - git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator.git -b llvm_release_80 llvm-spirv - git clone https://github.com/intel/opencl-clang.git -b ocl-open-80 + - cd ../.. compiler: - gcc From 0c6a0e2efbe588e3b9eab0f907dd74dc95ad380e Mon Sep 17 00:00:00 2001 From: Feng Zou Date: Wed, 1 Jul 2020 00:30:20 +0800 Subject: [PATCH 4/7] Use prebuilt llvm but build spirv translator from source --- .travis.yml | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index de61b5e9..e2c3773e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,6 @@ dist: xenial git: depth: 1 - quiet: true branches: only: @@ -21,20 +20,28 @@ env: - BUILD_TYPE=Release - BUILD_TYPE=Debug +addons: + apt: + sources: + - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main' + key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key' + - ubuntu-toolchain-r-test + packages: + - llvm-8-tools + - llvm-8-dev + - libclang-8-dev install: - - git clone https://github.com/llvm-mirror/llvm.git -b release_80 - - cd ./llvm/tools - - git clone https://github.com/llvm-mirror/clang.git -b release_80 - - cd ../projects - - git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator.git -b llvm_release_80 llvm-spirv - - git clone https://github.com/intel/opencl-clang.git -b ocl-open-80 - - cd ../.. + - git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator.git -b llvm_release_80 spirv-llvm-translator + - mkdir spirv-llvm-translator/build && cd spirv-llvm-translator/build + - cmake .. -DCMAKE_INSTALL_PREFIX=./install && make -j`nproc` && make install + - cd ../../ compiler: - gcc + - clang script: - mkdir build && cd build - - cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DLLVM_NO_DEAD_STRIP=ON --DCMAKE_INSTALL_PREFIX=./install ../llvm + - cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DLLVM_NO_DEAD_STRIP=ON -DLLVMSPIRV_INCLUDED_IN_LLVM=OFF -DSPIRV_TRANSLATOR_DIR=../spirv-llvm-translator -DSPIRV_SOURCE_DIR=../spirv-llvm-translator/build/install ../ - make -j`nproc` From 30524bef5d5b280c65512d556e7151d2b04af9a1 Mon Sep 17 00:00:00 2001 From: Feng Zou Date: Wed, 1 Jul 2020 00:32:20 +0800 Subject: [PATCH 5/7] Correct a parameter --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e2c3773e..945782ff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,5 +43,5 @@ compiler: script: - mkdir build && cd build - - cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DLLVM_NO_DEAD_STRIP=ON -DLLVMSPIRV_INCLUDED_IN_LLVM=OFF -DSPIRV_TRANSLATOR_DIR=../spirv-llvm-translator -DSPIRV_SOURCE_DIR=../spirv-llvm-translator/build/install ../ + - cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DLLVM_NO_DEAD_STRIP=ON -DLLVMSPIRV_INCLUDED_IN_LLVM=OFF -DSPIRV_TRANSLATOR_DIR=../spirv-llvm-translator/build/install ../ - make -j`nproc` From a6bd68a15b4157472bd2b430a6498822d30d1fd8 Mon Sep 17 00:00:00 2001 From: Feng Zou Date: Wed, 1 Jul 2020 08:51:30 +0800 Subject: [PATCH 6/7] update cmake commands --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 945782ff..0d31b315 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,7 +34,8 @@ addons: install: - git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator.git -b llvm_release_80 spirv-llvm-translator - mkdir spirv-llvm-translator/build && cd spirv-llvm-translator/build - - cmake .. -DCMAKE_INSTALL_PREFIX=./install && make -j`nproc` && make install + - cmake .. -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON -DLLVM_BUILD_TOOLS=ON -DCMAKE_BUILD_TYPE=${BUILD_TYPE} + - make -j`nproc` && make install - cd ../../ compiler: @@ -43,5 +44,5 @@ compiler: script: - mkdir build && cd build - - cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DLLVM_NO_DEAD_STRIP=ON -DLLVMSPIRV_INCLUDED_IN_LLVM=OFF -DSPIRV_TRANSLATOR_DIR=../spirv-llvm-translator/build/install ../ + - cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DLLVM_NO_DEAD_STRIP=ON -DLLVMSPIRV_INCLUDED_IN_LLVM=OFF -DSPIRV_TRANSLATOR_DIR=${TRAVIS_BUILD_DIR}/spirv-llvm-translator/build/install ../ - make -j`nproc` From e1f0dcd18ef584058675237ada7f00779abf51d6 Mon Sep 17 00:00:00 2001 From: Feng Zou Date: Wed, 1 Jul 2020 18:29:00 +0800 Subject: [PATCH 7/7] apply spirv patches --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0d31b315..62427cd1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,9 @@ addons: install: - git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator.git -b llvm_release_80 spirv-llvm-translator - - mkdir spirv-llvm-translator/build && cd spirv-llvm-translator/build + - cd spirv-llvm-translator + - for patch in `ls ../patches/spirv/*.patch`; do echo $patch; git apply $patch; done + - mkdir build && cd build - cmake .. -DCMAKE_INSTALL_PREFIX=./install -DBUILD_SHARED_LIBS=ON -DLLVM_BUILD_TOOLS=ON -DCMAKE_BUILD_TYPE=${BUILD_TYPE} - make -j`nproc` && make install - cd ../../