Skip to content

Commit 1993c4f

Browse files
Artem Gindinsonpszymich
Artem Gindinson
authored andcommitted
Switch IGC to LLVM 14
Upgrade the default LLVM version, build instructions and build verification actions.
1 parent cf3d392 commit 1993c4f

File tree

5 files changed

+44
-35
lines changed

5 files changed

+44
-35
lines changed

.github/workflows/build-IGC.yml

+18-11
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,21 @@ jobs:
4747
strategy:
4848
fail-fast: false
4949
matrix:
50-
ubuntu_version: [ '20.04' ]
51-
llvm_ver: [ 10, 11 ]
50+
ubuntu_version: [ '20.04', '22.04' ]
51+
llvm_ver: [ 14 ]
5252
include:
53+
- ubuntu_version: '20.04'
54+
llvm_ver: 10
55+
experimental: true
56+
- ubuntu_version: '20.04'
57+
llvm_ver: 11
58+
experimental: true
5359
- ubuntu_version: '22.04'
5460
llvm_ver: 12
5561
experimental: true
5662
- ubuntu_version: '22.04'
5763
llvm_ver: 13
5864
experimental: true
59-
- ubuntu_version: '22.04'
60-
llvm_ver: 14
61-
experimental: true
6265
- ubuntu_version: '22.04'
6366
llvm_ver: 15
6467
experimental: true
@@ -106,20 +109,24 @@ jobs:
106109
strategy:
107110
fail-fast: false
108111
matrix:
109-
ubuntu_version: [ '20.04' ]
110-
llvm_ver: [ 10, 11 ]
112+
ubuntu_version: [ '20.04', '22.04' ]
113+
llvm_ver: [ 14 ]
111114
compiler: [ gcc, clang ]
112115
include:
113-
- ubuntu_version: '22.04'
114-
llvm_ver: 12
116+
- ubuntu_version: '20.04'
117+
llvm_ver: 10
118+
compiler: gcc
119+
experimental: true
120+
- ubuntu_version: '20.04'
121+
llvm_ver: 11
115122
compiler: gcc
116123
experimental: true
117124
- ubuntu_version: '22.04'
118-
llvm_ver: 13
125+
llvm_ver: 12
119126
compiler: gcc
120127
experimental: true
121128
- ubuntu_version: '22.04'
122-
llvm_ver: 14
129+
llvm_ver: 13
123130
compiler: gcc
124131
experimental: true
125132
- ubuntu_version: '22.04'

documentation/build_ubuntu.md

+21-19
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,13 @@ You can use following commands for setup:
6464
```shell
6565
$ cd <workspace>
6666
$ git clone https://github.com/intel/vc-intrinsics vc-intrinsics
67-
$ git clone -b llvmorg-11.1.0 https://github.com/llvm/llvm-project llvm-project
68-
$ git clone -b ocl-open-110 https://github.com/intel/opencl-clang llvm-project/llvm/projects/opencl-clang
69-
$ git clone -b llvm_release_110 https://github.com/KhronosGroup/SPIRV-LLVM-Translator llvm-project/llvm/projects/llvm-spirv
67+
$ git clone -b llvmorg-14.0.5 https://github.com/llvm/llvm-project llvm-project
68+
$ git clone -b ocl-open-140 https://github.com/intel/opencl-clang llvm-project/llvm/projects/opencl-clang
69+
$ git clone -b llvm_release_140 https://github.com/KhronosGroup/SPIRV-LLVM-Translator llvm-project/llvm/projects/llvm-spirv
7070
$ git clone https://github.com/KhronosGroup/SPIRV-Tools.git SPIRV-Tools
7171
$ git clone https://github.com/KhronosGroup/SPIRV-Headers.git SPIRV-Headers
7272
```
73-
These commands will set up a workspace with LLVM 11. If you wish to use any other version please refer to the [component revision table](#Revision-table)
73+
These commands will set up a workspace with LLVM 14. If you wish to use any other version please refer to the [component revision table](#Revision-table)
7474

7575
Correct directory tree looks like this:
7676
```
@@ -92,7 +92,7 @@ There are several flags for these builds modes that you can pass to
9292
cmake command.
9393

9494
- `IGC_OPTION__LLVM_PREFERRED_VERSION` -- sets version of LLVM that
95-
will be used by IGC (defaults to "11.1.0").
95+
will be used by IGC (defaults to "14.0.5").
9696
- `IGC_OPTION__LLVM_MODE` -- select LLVM mode for IGC to use. Possible
9797
values are: **Source**, **Prebuilds** or empty (that is
9898
default). **Source** mode uses LLVM sources to build LLVM in-tree with
@@ -155,9 +155,9 @@ $ sudo make install
155155

156156
| Version | Product quality |
157157
|:----------------:|-----------------|
158-
| LLVM 12-15 | Experimental |
159-
| LLVM 11 | **Production** |
160-
| LLVM 10 and older | Experimental |
158+
| LLVM 15 | Experimental |
159+
| LLVM 14 | **Production** |
160+
| LLVM 12 and older | Experimental |
161161

162162
| Terminology | Description |
163163
|-------------------|-|
@@ -169,14 +169,14 @@ $ sudo make install
169169
LLVM version determines what branches are used when building dependencies.
170170
When checking out the components refer to the following table, replace **XX** with the LLVM version used:
171171

172-
| Repository name | Version specific | Branch | LLVM 11 example |
172+
| Repository name | Version specific | Branch | LLVM 14 example |
173173
|-----------------------|:----------------:|----------------------|------------------|
174-
| llvm-project | - | release/**XX**.x | release/11.x |
174+
| llvm-project | - | release/**XX**.x | release/14.x |
175175
| vc-intrinsics | no | master | master |
176176
| SPIRV-Tools | no | master | master |
177177
| SPIRV-Headers | no | master | master |
178-
| SPIRV-LLVM-Translator | yes | llvm_release_**XX**0 | llvm_release_110 |
179-
| opencl-clang | yes | ocl-open-**XX**0 | ocl-open-110 |
178+
| SPIRV-LLVM-Translator | yes | llvm_release_**XX**0 | llvm_release_140 |
179+
| opencl-clang | yes | ocl-open-**XX**0 | ocl-open-140 |
180180

181181
### LLVM/LLD/Clang version specific caveats
182182

@@ -200,19 +200,21 @@ which are needed for [enqueue_kernel](https://www.khronos.org/registry/OpenCL/sd
200200

201201
VectorComplier must be disabled by adding ```-DIGC_BUILD__VC_ENABLED=OFF``` to CMake flags.
202202

203-
#### LLVM9/Clang9
203+
#### LLVM9/Clang9 to LLVM11/Clang11
204204

205-
No additional steps are needed.
205+
**Deprecated/Experimental**
206+
We can no longer provide LLVM9-11/Clang9-11 conformance/performance guarantees.
206207

207-
#### LLVM10/Clang10
208+
#### LLVM12/Clang12 to LLVM13/Clang13
208209

209-
No additional steps are needed.
210+
**Experimental**
211+
There are no LLVM12-13/Clang12-13 conformance/performance guarantees.
210212

211-
#### LLVM11/Clang11
213+
#### LLVM14/Clang14
212214

213215
No additional steps are needed.
214216

215-
#### LLVM12/Clang12 to LLVM15/Clang15
217+
#### LLVM15/Clang15
216218

217219
**Experimental**
218-
Currently there are none LLVM12+/Clang12+ conformance/performance guarantees.
220+
There are no LLVM15/Clang15 conformance/performance guarantees.

external/llvm/llvm_preferred_version.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
#
77
#============================ end_copyright_notice =============================
88

9-
set(DEFAULT_IGC_LLVM_VERSION "11.1.0")
9+
set(DEFAULT_IGC_LLVM_VERSION "14.0.5")

scripts/buildIGC.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ else
2424
echo "[Build Status] UBUNTU_VERSION = ${UBUNTU_VERSION}"
2525
fi
2626
if [ -z ${LLVM_VERSION+x} ]; then
27-
echo "[Build Status] LLVM_VERSION is unset, use default 11";
28-
LLVM_VERSION="11"
27+
echo "[Build Status] LLVM_VERSION is unset, use default 14";
28+
LLVM_VERSION="14"
2929
else
3030
echo "[Build Status] LLVM_VERSION = ${LLVM_VERSION}"
3131
fi

scripts/buildSLT.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ else
2323
echo "[Build Status] UBUNTU_VERSION = ${UBUNTU_VERSION}"
2424
fi
2525
if [ -z ${LLVM_VERSION+x} ]; then
26-
echo "[Build Status] LLVM_VERSION is unset, use default 11";
27-
LLVM_VERSION="11"
26+
echo "[Build Status] LLVM_VERSION is unset, use default 14";
27+
LLVM_VERSION="14"
2828
else
2929
echo "[Build Status] LLVM_VERSION = ${LLVM_VERSION}"
3030
fi

0 commit comments

Comments
 (0)