Skip to content

Commit 99457fe

Browse files
committed
LLVM and SPIRV-LLVM-Translator pulldown (WW38 2024)
LLVM: llvm/llvm-project@34b10e1 SPIRV-LLVM-Translator: KhronosGroup/SPIRV-LLVM-Translator@dc1221cd83e67ef
2 parents 82e08b5 + b1f2327 commit 99457fe

File tree

5,710 files changed

+461806
-479979
lines changed

Some content is hidden

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

5,710 files changed

+461806
-479979
lines changed

.github/workflows/libcxx-build-and-test.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ jobs:
146146
'generic-no-experimental',
147147
'generic-no-filesystem',
148148
'generic-no-localization',
149+
'generic-no-terminal',
149150
'generic-no-random_device',
150151
'generic-no-threads',
151152
'generic-no-tzdb',
@@ -190,6 +191,42 @@ jobs:
190191
**/CMakeError.log
191192
**/CMakeOutput.log
192193
**/crash_diagnostics/*
194+
195+
macos:
196+
runs-on: macos-14
197+
needs: [ stage1 ]
198+
strategy:
199+
fail-fast: true
200+
matrix:
201+
config: [
202+
generic-cxx03,
203+
generic-cxx23,
204+
generic-modules,
205+
apple-configuration
206+
]
207+
steps:
208+
- uses: actions/checkout@v4
209+
- uses: maxim-lobanov/setup-xcode@v1
210+
with:
211+
xcode-version: 'latest'
212+
- uses: seanmiddleditch/gha-setup-ninja@master
213+
- name: Build and test
214+
run: |
215+
python3 -m venv .venv
216+
source .venv/bin/activate
217+
python -m pip install psutil
218+
bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
219+
- uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
220+
if: always() # Upload artifacts even if the build or test suite fails
221+
with:
222+
name: macos-${{ matrix.config }}-results
223+
path: |
224+
**/test-results.xml
225+
**/*.abilist
226+
**/CMakeError.log
227+
**/CMakeOutput.log
228+
**/crash_diagnostics/*
229+
193230
windows:
194231
runs-on: windows-2022
195232
needs: [ stage1 ]

.github/workflows/pr-code-format.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ on:
1212
jobs:
1313
code_formatter:
1414
runs-on: ubuntu-latest
15+
timeout-minutes: 30
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
18+
cancel-in-progress: true
1519
if: (github.repository == 'llvm/llvm-project' || github.repository == 'intel/llvm') && !contains(github.event.pull_request.labels.*.name, 'disable-lint')
1620
steps:
1721
- name: Fetch LLVM sources

.github/workflows/release-asset-audit.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
import github
22
import sys
33

4+
_SPECIAL_CASE_BINARIES = {
5+
"keith": {"clang+llvm-18.1.8-arm64-apple-macos11.tar.xz"},
6+
}
7+
8+
9+
def _is_valid(uploader_name, valid_uploaders, asset_name):
10+
if uploader_name in valid_uploaders:
11+
return True
12+
13+
if uploader_name in _SPECIAL_CASE_BINARIES:
14+
return asset_name in _SPECIAL_CASE_BINARIES[uploader_name]
15+
16+
return False
17+
18+
419
def main():
520
token = sys.argv[1]
621

@@ -41,7 +56,7 @@ def main():
4156
print(
4257
f"{asset.name} : {asset.uploader.login} [{created_at} {updated_at}] ( {asset.download_count} )"
4358
)
44-
if asset.uploader.login not in uploaders:
59+
if not _is_valid(asset.uploader.login, uploaders, asset.name):
4560
with open('comment', 'w') as file:
4661
file.write(f'@{asset.uploader.login} is not a valid uploader.')
4762
sys.exit(1)

.github/workflows/release-binaries-save-stage/action.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ inputs:
1010
required: true
1111
type: 'string'
1212

13+
permissions:
14+
contents: read
15+
1316
runs:
1417
using: "composite"
1518
steps:
@@ -18,6 +21,9 @@ runs:
1821
- name: Package Build and Source Directories
1922
shell: bash
2023
run: |
24+
# Remove .git/config to avoid leaking GITHUB_TOKEN stored there.
25+
# See https://unit42.paloaltonetworks.com/github-repo-artifacts-leak-tokens/
26+
rm -Rf .git/config
2127
# Windows does not support symlinks, so we need to dereference them.
2228
tar --exclude build/ ${{ (runner.os == 'Windows' && '-h') || '' }} -c . | zstd -T0 -c > ../llvm-project.tar.zst
2329
mv ../llvm-project.tar.zst .

.github/workflows/release-binaries.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -135,16 +135,8 @@ jobs:
135135
target_cmake_flags="$target_cmake_flags -DBOOTSTRAP_DARWIN_osx_ARCHS=$arches -DBOOTSTRAP_DARWIN_osx_BUILTIN_ARCHS=$arches"
136136
fi
137137
138-
# x86 macOS and x86 Windows have trouble building flang, so disable it.
139-
# Windows: https://github.com/llvm/llvm-project/issues/100202
140-
# macOS: 'rebase opcodes terminated early at offset 1 of 80016' when building __fortran_builtins.mod
141138
build_flang="true"
142139
143-
if [ "$target" = "Windows-X64" ]; then
144-
target_cmake_flags="$target_cmake_flags -DLLVM_RELEASE_ENABLE_PROJECTS=\"clang;lld;lldb;clang-tools-extra;bolt;polly;mlir\""
145-
build_flang="false"
146-
fi
147-
148140
if [ "${{ runner.os }}" = "Windows" ]; then
149141
# The build times out on Windows, so we need to disable LTO.
150142
target_cmake_flags="$target_cmake_flags -DLLVM_RELEASE_ENABLE_LTO=OFF"

.github/workflows/release-doxygen.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ on:
2525
description: 'Upload documentation'
2626
required: false
2727
type: boolean
28+
secrets:
29+
RELEASE_TASKS_USER_TOKEN:
30+
description: "Secret used to check user permissions."
31+
required: false
2832

2933
jobs:
3034
release-doxygen:
@@ -64,5 +68,6 @@ jobs:
6468
if: env.upload
6569
env:
6670
GITHUB_TOKEN: ${{ github.token }}
71+
USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
6772
run: |
68-
./llvm/utils/release/github-upload-release.py --token "$GITHUB_TOKEN" --release "${{ inputs.release-version }}" --user "${{ github.actor }}" upload --files ./*doxygen*.tar.xz
73+
./llvm/utils/release/github-upload-release.py --token "$GITHUB_TOKEN" --release "${{ inputs.release-version }}" --user "${{ github.actor }}" --user-token "$USER_TOKEN" upload --files ./*doxygen*.tar.xz

.github/workflows/release-lit.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ on:
1717
description: 'Release Version'
1818
required: true
1919
type: string
20+
secrets:
21+
RELEASE_TASKS_USER_TOKEN:
22+
description: "Secret used to check user permissions."
23+
required: false
2024

2125
jobs:
2226
release-lit:
@@ -36,8 +40,9 @@ jobs:
3640
- name: Check Permissions
3741
env:
3842
GITHUB_TOKEN: ${{ github.token }}
43+
USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
3944
run: |
40-
./llvm/utils/release/./github-upload-release.py --token "$GITHUB_TOKEN" --user ${{ github.actor }} check-permissions
45+
./llvm/utils/release/./github-upload-release.py --token "$GITHUB_TOKEN" --user ${{ github.actor }} --user-token "$USER_TOKEN" check-permissions
4146
4247
- name: Setup Cpp
4348
uses: aminya/setup-cpp@v1

.github/workflows/release-sources.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ on:
1616
description: Release Version
1717
required: true
1818
type: string
19+
secrets:
20+
RELEASE_TASKS_USER_TOKEN:
21+
description: "Secret used to check user permissions."
22+
required: false
1923
# Run on pull_requests for testing purposes.
2024
pull_request:
2125
paths:

.github/workflows/release-tasks.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,19 @@ jobs:
6666
with:
6767
release-version: ${{ needs.validate-tag.outputs.release-version }}
6868
upload: true
69+
# Called workflows don't have access to secrets by default, so we need to explicitly pass secrets that we use.
70+
secrets:
71+
RELEASE_TASKS_USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
6972

7073
release-lit:
7174
name: Release Lit
7275
needs: validate-tag
7376
uses: ./.github/workflows/release-lit.yml
7477
with:
7578
release-version: ${{ needs.validate-tag.outputs.release-version }}
79+
# Called workflows don't have access to secrets by default, so we need to explicitly pass secrets that we use.
80+
secrets:
81+
RELEASE_TASKS_USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
7682

7783
release-binaries:
7884
name: Build Release Binaries
@@ -97,6 +103,9 @@ jobs:
97103
release-version: ${{ needs.validate-tag.outputs.release-version }}
98104
upload: true
99105
runs-on: ${{ matrix.runs-on }}
106+
# Called workflows don't have access to secrets by default, so we need to explicitly pass secrets that we use.
107+
secrets:
108+
RELEASE_TASKS_USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
100109

101110
release-sources:
102111
name: Package Release Sources
@@ -109,3 +118,6 @@ jobs:
109118
uses: ./.github/workflows/release-sources.yml
110119
with:
111120
release-version: ${{ needs.validate-tag.outputs.release-version }}
121+
# Called workflows don't have access to secrets by default, so we need to explicitly pass secrets that we use.
122+
secrets:
123+
RELEASE_TASKS_USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}

.mailmap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<i@maskray.me> <maskray@google.com>
3131
<JCTremoulet@gmail.com> <jotrem@microsoft.com>
3232
<min@myhsu.dev> <minyihh@uci.edu>
33-
<qiucofan@cn.ibm.com> <qiucf@cn.ibm.com>
33+
<qcf@ecnelises.com> <qiucofan@cn.ibm.com> <qiucf@cn.ibm.com>
3434
<rnk@google.com> <reid@kleckner.net>
3535
<thakis@chromium.org> <nicolasweber@gmx.de>
3636
Jianjian GUAN <jacquesguan@me.com>

0 commit comments

Comments
 (0)