Skip to content

Commit 59f460b

Browse files
authored
Official LLVM 12 Release Update (#736)
* Update to official release of LLVM 12 * Fix unversioned LLVM feature option dependencies on LLVM core * Add llvm-12 to matrix CI testing * Limit building of tools on llvm-12 (only remill compiles) * Fix llvm version for packaged tool
1 parent aa02ecf commit 59f460b

File tree

8 files changed

+36
-21
lines changed

8 files changed

+36
-21
lines changed

.github/workflows/vcpkg_ci_linux.yml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ jobs:
4343
llvm: [
4444
'llvm-9',
4545
'llvm-10',
46-
'llvm-11'
46+
'llvm-11',
47+
'llvm-12'
4748
]
4849

4950
runs-on: ${{ matrix.host.name }}
@@ -147,10 +148,10 @@ jobs:
147148
name: ${{ env.ARTIFACT_NAME }}
148149
path: ${{ env.ARTIFACT_NAME }}
149150

150-
# Only for LLVM-10 right now...
151+
# Only for LLVM-11 right now...
151152
- name: 'Build Packaged Lifting Tools'
152-
if: ${{ matrix.llvm == 'llvm-10' }}
153153
shell: 'bash'
154+
if: ${{ matrix.llvm == 'llvm-11' }}
154155
# NOTE: Cannot use --clean-after-build because of path issue finding semantics files in remill
155156
run: |
156157
export VCPKG_DISABLE_METRICS=1
@@ -162,7 +163,7 @@ jobs:
162163
--triplet "${{ matrix.host.triplet }}" \
163164
--debug \
164165
@overlays.txt \
165-
remill
166+
remill[core,${{ matrix.llvm }}]
166167
167168
- name: Prepare ccache
168169
id: ccache_prep
@@ -190,6 +191,7 @@ jobs:
190191
191192
- name: 'Test rellic build'
192193
shell: 'bash'
194+
if: ${{ matrix.llvm != 'llvm-12' }}
193195
run: |
194196
cd rellic
195197
rm -rf build
@@ -219,9 +221,9 @@ jobs:
219221
cmake --build . --target test_dependencies
220222
env CTEST_OUTPUT_ON_FAILURE=1 cmake --build . --target test || true
221223
222-
# Only for LLVM-10 right now...
224+
# Only for LLVM-11 right now...
223225
- name: 'Anvill build - vcpkg remill'
224-
if: ${{ matrix.llvm == 'llvm-10' }}
226+
if: ${{ matrix.llvm == 'llvm-11' }}
225227
shell: 'bash'
226228
run: |
227229
cd anvill
@@ -239,6 +241,7 @@ jobs:
239241
240242
- name: 'Anvill build - custom remill'
241243
shell: 'bash'
244+
if: ${{ matrix.llvm == 'llvm-11' }}
242245
run: |
243246
cd anvill
244247
rm -rf build
@@ -255,6 +258,7 @@ jobs:
255258
256259
- name: 'Test mcsema build'
257260
shell: 'bash'
261+
if: ${{ matrix.llvm == 'llvm-11' }}
258262
run: |
259263
cd mcsema
260264
rm -rf build

.github/workflows/vcpkg_ci_mac.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ jobs:
3636
os:
3737
- { runner: 'macos-10.15', xcode: '12.4' }
3838
llvm: [
39-
'llvm-11'
39+
'llvm-11',
40+
'llvm-12'
4041
]
4142

4243
runs-on: ${{ matrix.os.runner }}
@@ -120,8 +121,10 @@ jobs:
120121
name: ${{ env.ARTIFACT_NAME }}
121122
path: ${{ env.ARTIFACT_NAME }}
122123

124+
# Only for LLVM-11 right now...
123125
- name: 'Build Packaged Lifting Tools'
124126
shell: 'bash'
127+
if: ${{ matrix.llvm == 'llvm-11' }}
125128
# NOTE: Cannot use --clean-after-build because of path issue finding semantics files
126129
run: |
127130
${VCPKG_ROOT}/vcpkg install \
@@ -161,6 +164,7 @@ jobs:
161164
162165
- name: 'Test rellic build'
163166
shell: 'bash'
167+
if: ${{ matrix.llvm != 'llvm-12' }}
164168
run: |
165169
cd rellic
166170
mkdir -p build && cd build
@@ -190,6 +194,7 @@ jobs:
190194
191195
- name: 'Anvill build - vcpkg remill'
192196
shell: 'bash'
197+
if: ${{ matrix.llvm == 'llvm-11' }}
193198
run: |
194199
cd anvill
195200
mkdir -p build-vcpkg && cd build-vcpkg
@@ -205,6 +210,7 @@ jobs:
205210
206211
- name: 'Anvill build - custom remill'
207212
shell: 'bash'
213+
if: ${{ matrix.llvm == 'llvm-11' }}
208214
run: |
209215
cd anvill
210216
mkdir -p build && cd build
@@ -220,6 +226,7 @@ jobs:
220226
221227
- name: 'Test mcsema build'
222228
shell: 'bash'
229+
if: ${{ matrix.llvm == 'llvm-11' }}
223230
run: |
224231
cd mcsema
225232
mkdir -p build && cd build

.github/workflows/vcpkg_ci_windows.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ jobs:
3939
llvm: [
4040
# 'llvm-9',
4141
# 'llvm-10',
42-
'llvm-11'
42+
'llvm-11',
43+
'llvm-12'
4344
]
4445

4546
runs-on: ['self-hosted', 'Windows', 'X64']
@@ -147,6 +148,7 @@ jobs:
147148
# remill
148149

149150
- name: 'Test rellic build'
151+
if: ${{ matrix.llvm != 'llvm-12' }}
150152
run: |
151153
cd rellic
152154
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue .\build
@@ -208,6 +210,7 @@ jobs:
208210
# # & ( Get-ChildItem install\bin | Where-Object {$_.name -match "anvill-decompile-json-.*.exe"} ) -spec ..\tools\decompile-json\tests\specs\ret0.json -bc_out ret0.bc -ir_out ret0.ir
209211

210212
- name: 'Anvill build - custom remill'
213+
if: ${{ matrix.llvm == 'llvm-11' }}
211214
run: |
212215
cd anvill
213216
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue .\build
@@ -226,6 +229,7 @@ jobs:
226229
& ( Get-ChildItem install\bin | Where-Object {$_.name -match "anvill-decompile-json-.*.exe"} ) -spec ..\tools\decompile-json\tests\specs\ret0.json -bc_out ret0.bc -ir_out ret0.ir
227230
228231
- name: 'Test mcsema build'
232+
if: ${{ matrix.llvm == 'llvm-11' }}
229233
run: |
230234
cd mcsema
231235
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue .\build

ports/llvm-10/CONTROL

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,11 @@ Description: Build LLDB debugger.
110110

111111
Feature: openmp
112112
Description: Build LLVM OpenMP libraries.
113-
Build-Depends: llvm[core,utils]
113+
Build-Depends: llvm-10[core,utils]
114114

115115
Feature: polly
116116
Description: Build polyhedral optimizations for LLVM.
117-
Build-Depends: llvm[core,utils]
117+
Build-Depends: llvm-10[core,utils]
118118

119119
Feature: enable-z3
120120
Description: Compile with Z3 SMT solver support for Clang static analyzer.

ports/llvm-11/CONTROL

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ Description: Build compiler's runtime libraries.
107107

108108
Feature: flang
109109
Description: Build Fortran front end.
110-
Build-Depends: llvm[core,mlir]
110+
Build-Depends: llvm-11[core,mlir]
111111

112112
Feature: lld
113113
Description: Build LLVM linker.
@@ -120,11 +120,11 @@ Description: Build Multi-Level IR Compiler Framework.
120120

121121
Feature: openmp
122122
Description: Build LLVM OpenMP libraries.
123-
Build-Depends: llvm[core,utils]
123+
Build-Depends: llvm-11[core,utils]
124124

125125
Feature: polly
126126
Description: Build polyhedral optimizations for LLVM.
127-
Build-Depends: llvm[core,utils]
127+
Build-Depends: llvm-11[core,utils]
128128

129129
Feature: enable-z3
130130
Description: Compile with Z3 SMT solver support for Clang static analyzer.

ports/llvm-12/CONTROL

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Source: llvm-12
2-
Version: 12.0.0-rc2
2+
Version: 12.0.0
33
Homepage: https://llvm.org/
44
Description: The LLVM Compiler Infrastructure
55
Supports: !uwp
@@ -107,7 +107,7 @@ Description: Build compiler's runtime libraries.
107107

108108
Feature: flang
109109
Description: Build Fortran front end.
110-
Build-Depends: llvm[core,mlir]
110+
Build-Depends: llvm-12[core,mlir]
111111

112112
Feature: lld
113113
Description: Build LLVM linker.
@@ -120,11 +120,11 @@ Description: Build Multi-Level IR Compiler Framework.
120120

121121
Feature: openmp
122122
Description: Build LLVM OpenMP libraries.
123-
Build-Depends: llvm[core,utils]
123+
Build-Depends: llvm-12[core,utils]
124124

125125
Feature: polly
126126
Description: Build polyhedral optimizations for LLVM.
127-
Build-Depends: llvm[core,utils]
127+
Build-Depends: llvm-12[core,utils]
128128

129129
Feature: enable-z3
130130
Description: Compile with Z3 SMT solver support for Clang static analyzer.

ports/llvm-12/portfile.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
set(LLVM_VERSION "12.0.0-rc2")
1+
set(LLVM_VERSION "12.0.0")
22

33
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
44

55
vcpkg_from_github(
66
OUT_SOURCE_PATH SOURCE_PATH
77
REPO llvm/llvm-project
88
REF llvmorg-${LLVM_VERSION}
9-
SHA512 d8f9b3dfeb0fe9b91eb7f49da393784333044db2653373fbb168afd3c8d50f3e3ec7a7b8f44df522d0facafbfe4cfc4d9e2906d19f1e6feb0bdc569b6c10a17d
9+
SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
1010
HEAD_REF main
1111
PATCHES
1212
0001-fix-install-paths.patch

ports/llvm-9/CONTROL

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,11 @@ Description: Build LLDB debugger.
111111

112112
Feature: openmp
113113
Description: Build LLVM OpenMP libraries.
114-
Build-Depends: llvm[core,utils]
114+
Build-Depends: llvm-9[core,utils]
115115

116116
Feature: polly
117117
Description: Build polyhedral optimizations for LLVM.
118-
Build-Depends: llvm[core,utils]
118+
Build-Depends: llvm-9[core,utils]
119119

120120
Feature: enable-z3
121121
Description: Compile with Z3 SMT solver support for Clang static analyzer.

0 commit comments

Comments
 (0)