Skip to content

Commit 6485ec4

Browse files
committed
LLVM and SPIRV-LLVM-Translator pulldown (WW32)
LLVM: llvm/llvm-project@c9737b6 SPIRV-LLVM-Translator: KhronosGroup/SPIRV-LLVM-Translator@1b8a007
2 parents ffb6d41 + af91479 commit 6485ec4

File tree

4,420 files changed

+134899
-88854
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,420 files changed

+134899
-88854
lines changed

.github/workflows/clang-tests.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Clang Tests
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
ignore-forks: true
7+
branches:
8+
- 'release/**'
9+
paths:
10+
- 'clang/**'
11+
- '.github/workflows/clang-tests.yml'
12+
- '.github/workflows/llvm-project-tests.yml'
13+
- '!llvm/**'
14+
pull_request:
15+
ignore-forks: true
16+
branches:
17+
- 'release/**'
18+
paths:
19+
- 'clang/**'
20+
- '.github/workflows/clang-tests.yml'
21+
- '.github/workflows/llvm-project-tests.yml'
22+
- '!llvm/**'
23+
24+
concurrency:
25+
# Skip intermediate builds: always.
26+
# Cancel intermediate builds: only if it is a pull request build.
27+
group: ${{ github.workflow }}-${{ github.ref }}
28+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
29+
30+
jobs:
31+
check_clang:
32+
if: github.repository_owner == 'llvm'
33+
name: Test clang,lldb,libclc
34+
uses: ./.github/workflows/llvm-project-tests.yml
35+
with:
36+
build_target: check-clang
37+
projects: clang;lldb;libclc

.github/workflows/issue-release-workflow.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ jobs:
5858
--token ${{ secrets.RELEASE_WORKFLOW_PUSH_SECRET }} \
5959
release-workflow \
6060
--issue-number ${{ github.event.issue.number }} \
61+
--phab-token ${{ secrets.RELEASE_WORKFLOW_PHAB_TOKEN }} \
6162
auto
6263
6364
create-pull-request:
@@ -71,6 +72,8 @@ jobs:
7172
steps:
7273
- name: Fetch LLVM sources
7374
uses: actions/checkout@v2
75+
with:
76+
persist-credentials: false
7477

7578
- name: Setup Environment
7679
run: |
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
name: libclang ABI Tests
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
ignore-forks: true
7+
branches:
8+
- 'release/**'
9+
paths:
10+
- 'clang/**'
11+
- '.github/workflows/libclang-abi-tests.yml'
12+
pull_request:
13+
ignore-forks: true
14+
branches:
15+
- 'release/**'
16+
paths:
17+
- 'clang/**'
18+
- '.github/workflows/libclang-abi-tests.yml'
19+
20+
concurrency:
21+
# Skip intermediate builds: always.
22+
# Cancel intermediate builds: only if it is a pull request build.
23+
group: ${{ github.workflow }}-${{ github.ref }}
24+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
25+
26+
27+
jobs:
28+
abi-dump-setup:
29+
if: github.repository_owner == 'llvm'
30+
runs-on: ubuntu-latest
31+
outputs:
32+
BASELINE_REF: ${{ steps.vars.outputs.BASELINE_REF }}
33+
ABI_HEADERS: ${{ steps.vars.outputs.ABI_HEADERS }}
34+
ABI_LIBS: ${{ steps.vars.outputs.ABI_LIBS }}
35+
BASELINE_VERSION_MAJOR: ${{ steps.vars.outputs.BASELINE_VERSION_MAJOR }}
36+
BASELINE_VERSION_MINOR: ${{ steps.vars.outputs.BASELINE_VERSION_MINOR }}
37+
LLVM_VERSION_MAJOR: ${{ steps.version.outputs.LLVM_VERSION_MAJOR }}
38+
LLVM_VERSION_MINOR: ${{ steps.version.outputs.LLVM_VERSION_MINOR }}
39+
LLVM_VERSION_PATCH: ${{ steps.version.outputs.LLVM_VERSION_PATCH }}
40+
steps:
41+
- name: Checkout source
42+
uses: actions/checkout@v3
43+
with:
44+
fetch-depth: 250
45+
46+
- name: Get LLVM version
47+
id: version
48+
uses: llvm/actions/get-llvm-version@main
49+
50+
- name: Setup Variables
51+
id: vars
52+
run: |
53+
minor_version=0
54+
remote_repo='https://github.com/llvm/llvm-project'
55+
if [ ${{ steps.version.outputs.LLVM_VERSION_MINOR }} -ne 0 -o ${{ steps.version.outputs.LLVM_VERSION_PATCH }} -eq 0 ]; then
56+
major_version=$(( ${{ steps.version.outputs.LLVM_VERSION_MAJOR }} - 1))
57+
baseline_ref="llvmorg-$major_version.0.0"
58+
59+
# If there is a minor release, we want to use that as the base line.
60+
minor_ref=`git ls-remote --refs -t $remote_repo llvmorg-$major_version.[1-9].[0-9] | tail -n1 | grep -o 'llvmorg-.\+' || true`
61+
if [ -n "$minor_ref" ]; then
62+
baseline_ref=$minor_ref
63+
else
64+
# Check if we have a release candidate
65+
rc_ref=`git ls-remote --refs -t $remote_repo llvmorg-$major_version.[1-9].[0-9]-rc* | tail -n1 | grep -o 'llvmorg-.\+' || true`
66+
if [ -n "$rc_ref" ]; then
67+
baseline_ref=$rc_ref
68+
fi
69+
fi
70+
echo ::set-output name=BASELINE_VERSION_MAJOR::$major_version
71+
echo ::set-output name=BASELINE_REF::$baseline_ref
72+
echo ::set-output name=ABI_HEADERS::clang-c
73+
echo ::set-output name=ABI_LIBS::libclang.so
74+
else
75+
echo ::set-output name=BASELINE_VERSION_MAJOR::${{ steps.version.outputs.LLVM_VERSION_MAJOR }}
76+
echo ::set-output name=BASELINE_REF::llvmorg-${{ steps.version.outputs.LLVM_VERSION_MAJOR }}.0.0
77+
echo ::set-output name=ABI_HEADERS::.
78+
echo ::set-output name=ABI_LIBS::libclang.so libclang-cpp.so
79+
fi
80+
81+
82+
abi-dump:
83+
if: github.repository_owner == 'llvm'
84+
needs: abi-dump-setup
85+
runs-on: ubuntu-latest
86+
strategy:
87+
matrix:
88+
name:
89+
- build-baseline
90+
- build-latest
91+
include:
92+
- name: build-baseline
93+
llvm_version_major: ${{ needs.abi-dump-setup.outputs.BASELINE_VERSION_MAJOR }}
94+
ref: ${{ needs.abi-dump-setup.outputs.BASELINE_REF }}
95+
repo: llvm/llvm-project
96+
- name: build-latest
97+
llvm_version_major: ${{ needs.abi-dump-setup.outputs.LLVM_VERSION_MAJOR }}
98+
ref: ${{ github.sha }}
99+
repo: ${{ github.repository }}
100+
steps:
101+
- name: Install Ninja
102+
uses: llvm/actions/install-ninja@main
103+
- name: Install abi-compliance-checker
104+
run: |
105+
sudo apt-get install abi-dumper autoconf pkg-config
106+
- name: Install universal-ctags
107+
run: |
108+
git clone https://github.com/universal-ctags/ctags.git
109+
cd ctags
110+
./autogen.sh
111+
./configure
112+
sudo make install
113+
- name: Download source code
114+
uses: llvm/actions/get-llvm-project-src@main
115+
with:
116+
ref: ${{ matrix.ref }}
117+
repo: ${{ matrix.repo }}
118+
- name: Configure
119+
run: |
120+
mkdir install
121+
cmake -B build -S llvm -G Ninja -DLLVM_ENABLE_PROJECTS=clang -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD="" -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCMAKE_C_FLAGS_DEBUG="-g1 -Og" -DCMAKE_CXX_FLAGS_DEBUG="-g1 -Og" -DCMAKE_INSTALL_PREFIX=`pwd`/install llvm
122+
- name: Build
123+
run: ninja -C build/ ${{ needs.abi-dump-setup.outputs.ABI_LIBS }} install-clang-headers
124+
- name: Dump ABI
125+
run: |
126+
parallel abi-dumper -lver ${{ matrix.ref }} -skip-cxx -public-headers ./install/include/${{ needs.abi-dump-setup.outputs.ABI_HEADERS }} -o {}-${{ matrix.ref }}.abi ./build/lib/{} ::: ${{ needs.abi-dump-setup.outputs.ABI_LIBS }}
127+
# Remove symbol versioning from dumps, so we can compare across major
128+
# versions. We don't need to do this for libclang.so since its ABI
129+
# is stable across major releases and the symbol versions don't change.
130+
if [ -e libclang-cpp.so-${{ matrix.ref }}.abi ]; then
131+
sed -i 's/LLVM_[0-9]\+/LLVM_NOVERSION/' libclang-cpp.so-${{ matrix.ref }}.abi
132+
fi
133+
- name: Upload ABI file
134+
uses: actions/upload-artifact@v2
135+
with:
136+
name: ${{ matrix.name }}
137+
path: "*${{ matrix.ref }}.abi"
138+
139+
abi-compare:
140+
if: github.repository_owner == 'llvm'
141+
runs-on: ubuntu-latest
142+
needs:
143+
- abi-dump-setup
144+
- abi-dump
145+
steps:
146+
- name: Download baseline
147+
uses: actions/download-artifact@v1
148+
with:
149+
name: build-baseline
150+
- name: Download latest
151+
uses: actions/download-artifact@v1
152+
with:
153+
name: build-latest
154+
155+
- name: Install abi-compliance-checker
156+
run: sudo apt-get install abi-compliance-checker
157+
- name: Compare ABI
158+
run: |
159+
for lib in ${{ needs.abi-dump-setup.outputs.ABI_LIBS }}; do
160+
abi-compliance-checker -lib $lib -old build-baseline/$lib*.abi -new build-latest/$lib*.abi
161+
done
162+
- name: Upload ABI Comparison
163+
if: always()
164+
uses: actions/upload-artifact@v2
165+
with:
166+
name: compat-report-${{ github.sha }}
167+
path: compat_reports/
168+

.github/workflows/libclc-tests.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: libclc Tests
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
ignore-forks: true
7+
branches:
8+
- 'release/**'
9+
paths:
10+
- 'libclc/**'
11+
- '.github/workflows/libclc-tests.yml'
12+
- '.github/workflows/llvm-project-tests.yml'
13+
- '!clang/**'
14+
- '!llvm/**'
15+
pull_request:
16+
ignore-forks: true
17+
branches:
18+
- 'release/**'
19+
paths:
20+
- 'libclc/**'
21+
- '.github/workflows/libclc-tests.yml'
22+
- '.github/workflows/llvm-project-tests.yml'
23+
- '!clang/**'
24+
- '!llvm/**'
25+
26+
concurrency:
27+
# Skip intermediate builds: always.
28+
# Cancel intermediate builds: only if it is a pull request build.
29+
group: ${{ github.workflow }}-${{ github.ref }}
30+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
31+
32+
jobs:
33+
check_libclc:
34+
if: github.repository_owner == 'llvm'
35+
name: Test libclc
36+
uses: ./.github/workflows/llvm-project-tests.yml
37+
with:
38+
build_target: ''
39+
projects: clang;libclc

.github/workflows/lld-tests.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: LLD Tests
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
ignore-forks: true
7+
branches:
8+
- 'release/**'
9+
paths:
10+
- 'lld/**'
11+
- '.github/workflows/lld-tests.yml'
12+
- '.github/workflows/llvm-project-tests.yml'
13+
- '!llvm/**'
14+
pull_request:
15+
ignore-forks: true
16+
branches:
17+
- 'release/**'
18+
paths:
19+
- 'lld/**'
20+
- '.github/workflows/lld-tests.yml'
21+
- '.github/workflows/llvm-project-tests.yml'
22+
- '!llvm/**'
23+
24+
concurrency:
25+
# Skip intermediate builds: always.
26+
# Cancel intermediate builds: only if it is a pull request build.
27+
group: ${{ github.workflow }}-${{ github.ref }}
28+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
29+
30+
jobs:
31+
check_lld:
32+
if: github.repository_owner == 'llvm'
33+
name: Test lld
34+
uses: ./.github/workflows/llvm-project-tests.yml
35+
with:
36+
build_target: check-lld
37+
projects: lld

.github/workflows/lldb-tests.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: lldb Tests
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
ignore-forks: true
7+
branches:
8+
- 'release/**'
9+
paths:
10+
- 'lldb/**'
11+
- '.github/workflows/lldb-tests.yml'
12+
- '.github/workflows/llvm-project-tests.yml'
13+
- '!clang/**'
14+
- '!llvm/**'
15+
pull_request:
16+
ignore-forks: true
17+
branches:
18+
- 'release/**'
19+
paths:
20+
- 'lldb/**'
21+
- '.github/workflows/lldb-tests.yml'
22+
- '.github/workflows/llvm-project-tests.yml'
23+
- '!clang/**'
24+
- '!llvm/**'
25+
26+
concurrency:
27+
# Skip intermediate builds: always.
28+
# Cancel intermediate builds: only if it is a pull request build.
29+
group: ${{ github.workflow }}-${{ github.ref }}
30+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
31+
32+
33+
jobs:
34+
build_lldb:
35+
if: github.repository_owner == 'llvm'
36+
name: Build lldb
37+
uses: ./.github/workflows/llvm-project-tests.yml
38+
with:
39+
build_target: ''
40+
projects: clang;lldb

0 commit comments

Comments
 (0)