Skip to content

Commit bcd3ad5

Browse files
authored
Merge branch 'main' into Fix_bug_issue_5
2 parents f8a34c8 + d12250c commit bcd3ad5

File tree

7,827 files changed

+433441
-223108
lines changed

Some content is hidden

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

7,827 files changed

+433441
-223108
lines changed

.git-blame-ignore-revs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,8 @@ e2c2ffbe7a1b5d9e32a2ce64279475b50c4cba5b
8787

8888
# [lldb][nfc] Deindent ProcessGDBRemote::SetThreadStopInfo by two levels
8989
b32931c5b32eb0d2cf37d688b34f8548c9674c19
90+
91+
# [libc++] Various consistency fixes to the CSV files that we use for tracking Standards Conformance
92+
64946fdaf9864d8279da1c30e4d7214fe13d1427
93+
b6262880b34629e9d7a72b5a42f315a3c9ed8139
94+
39c7dc7207e76e72da21cf4fedda21b5311bf62d

.github/CODEOWNERS

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,6 @@
3333
/clang/www/cxx_dr_status.html @Endilll
3434
/clang/www/make_cxx_dr_status @Endilll
3535

36-
clang/lib/AST/Interp/ @tbaederr
37-
clang/test/AST/Interp/ @tbaederr
38-
3936
/clang/include/clang/CIR @lanza @bcardosolopes
4037
/clang/lib/CIR @lanza @bcardosolopes
4138
/clang/tools/cir-* @lanza @bcardosolopes
@@ -86,6 +83,7 @@ clang/test/AST/Interp/ @tbaederr
8683
/mlir/**/*VectorToLLVM* @banach-space @dcaballe @nicolasvasilache
8784
/mlir/**/*X86Vector* @aartbik @dcaballe @nicolasvasilache
8885
/mlir/include/mlir/Dialect/Vector @banach-space @dcaballe @nicolasvasilache
86+
/mlir/include/mlir/Dialect/Vector/IR @kuhar
8987
/mlir/lib/Dialect/Vector @banach-space @dcaballe @nicolasvasilache
9088
/mlir/lib/Dialect/Vector/Transforms/* @banach-space @dcaballe @hanhanW @nicolasvasilache
9189
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @banach-space @dcaballe @MaheshRavishankar @nicolasvasilache
@@ -149,3 +147,6 @@ clang/test/AST/Interp/ @tbaederr
149147
/llvm/**/DWARFLinker/ @JDevlieghere
150148
/llvm/**/dsymutil/ @JDevlieghere
151149
/llvm/**/llvm-dwarfutil/ @JDevlieghere
150+
151+
# libclang/Python bindings
152+
/clang/bindings/python @DeinAlptraum

.github/new-prs-labeler.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -990,6 +990,13 @@ clang:openmp:
990990
- llvm/unittests/Frontend/OpenMP*
991991
- llvm/test/Transforms/OpenMP/**
992992

993+
clang:as-a-library:
994+
- clang/tools/libclang/**
995+
- clang/bindings/**
996+
- clang/include/clang-c/**
997+
- clang/test/LibClang/**
998+
- clang/unittest/libclang/**
999+
9931000
openmp:libomp:
9941001
- any: ['openmp/**', '!openmp/libomptarget/**']
9951002

.github/workflows/containers/github-action-ci/stage1.Dockerfile

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM docker.io/library/ubuntu:22.04 as base
22
ENV LLVM_SYSROOT=/opt/llvm
33

44
FROM base as stage1-toolchain
5-
ENV LLVM_VERSION=17.0.6
5+
ENV LLVM_VERSION=18.1.8
66

77
RUN apt-get update && \
88
apt-get install -y \
@@ -21,11 +21,9 @@ WORKDIR /llvm-project-llvmorg-$LLVM_VERSION
2121

2222
COPY bootstrap.patch /
2323

24-
# TODO(boomanaiden154): Remove the patch pulled from a LLVM PR once we bump
25-
# the toolchain to version 18 and the patch is in-tree.
2624
# TODO(boomanaiden154): Remove the bootstrap patch once we unsplit the build
2725
# and no longer need to explicitly build the stage2 dependencies.
28-
RUN curl https://github.com/llvm/llvm-project/commit/dd0356d741aefa25ece973d6cc4b55dcb73b84b4.patch | patch -p1 && cat /bootstrap.patch | patch -p1
26+
RUN cat /bootstrap.patch | patch -p1
2927

3028
RUN mkdir build
3129

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Get LLVM Version
2+
description: >-
3+
Get the LLVM version from the llvm-project source tree. This action assumes
4+
the llvm-project sources have already been checked out into GITHUB_WORKSPACE.
5+
6+
outputs:
7+
major:
8+
description: LLVM major version
9+
value: ${{ steps.version.outputs.major }}
10+
minor:
11+
description: LLVM minor version
12+
value: ${{ steps.version.outputs.minor }}
13+
patch:
14+
description: LLVM patch version
15+
value: ${{ steps.version.outputs.patch }}
16+
17+
runs:
18+
using: "composite"
19+
steps:
20+
- name: Get Version
21+
shell: bash
22+
id: version
23+
run: |
24+
for v in major minor patch; do
25+
echo "$v=`llvm/utils/release/get-llvm-version.sh --$v`" >> $GITHUB_OUTPUT
26+
done

.github/workflows/issue-write.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,21 @@ jobs:
2424
github.event.workflow_run.conclusion == 'failure'
2525
)
2626
steps:
27+
- name: Fetch Sources
28+
uses: actions/checkout@v4
29+
with:
30+
sparse-checkout: |
31+
.github/workflows/unprivileged-download-artifact/action.yml
32+
sparse-checkout-cone-mode: false
2733
- name: 'Download artifact'
28-
uses: actions/download-artifact@6b208ae046db98c579e8a3aa621ab581ff575935 # v4.1.1
34+
uses: ./.github/workflows/unprivileged-download-artifact
35+
id: download-artifact
2936
with:
30-
github-token: ${{ secrets.ISSUE_WRITE_DOWNLOAD_ARTIFACT }}
3137
run-id: ${{ github.event.workflow_run.id }}
32-
name: workflow-args
38+
artifact-name: workflow-args
3339

3440
- name: 'Comment on PR'
41+
if: steps.download-artifact.outputs.artifact-id != ''
3542
uses: actions/github-script@v3
3643
with:
3744
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -144,5 +151,7 @@ jobs:
144151
});
145152
146153
- name: Dump comments file
147-
if: always()
154+
if: >-
155+
always() &&
156+
steps.download-artifact.outputs.artifact-id != ''
148157
run: cat comments

.github/workflows/libclang-abi-tests.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ jobs:
3333
ABI_HEADERS: ${{ steps.vars.outputs.ABI_HEADERS }}
3434
ABI_LIBS: ${{ steps.vars.outputs.ABI_LIBS }}
3535
BASELINE_VERSION_MAJOR: ${{ steps.vars.outputs.BASELINE_VERSION_MAJOR }}
36-
LLVM_VERSION_MAJOR: ${{ steps.version.outputs.LLVM_VERSION_MAJOR }}
37-
LLVM_VERSION_MINOR: ${{ steps.version.outputs.LLVM_VERSION_MINOR }}
38-
LLVM_VERSION_PATCH: ${{ steps.version.outputs.LLVM_VERSION_PATCH }}
36+
LLVM_VERSION_MAJOR: ${{ steps.version.outputs.major }}
37+
LLVM_VERSION_MINOR: ${{ steps.version.outputs.minor }}
38+
LLVM_VERSION_PATCH: ${{ steps.version.outputs.patch }}
3939
steps:
4040
- name: Checkout source
4141
uses: actions/checkout@v4
@@ -44,14 +44,14 @@ jobs:
4444

4545
- name: Get LLVM version
4646
id: version
47-
uses: llvm/actions/get-llvm-version@main
47+
uses: ./.github/workflows/get-llvm-version
4848

4949
- name: Setup Variables
5050
id: vars
5151
run: |
5252
remote_repo='https://github.com/llvm/llvm-project'
53-
if [ ${{ steps.version.outputs.LLVM_VERSION_PATCH }} -eq 0 ]; then
54-
major_version=$(( ${{ steps.version.outputs.LLVM_VERSION_MAJOR }} - 1))
53+
if [ ${{ steps.version.outputs.patch }} -eq 0 ]; then
54+
major_version=$(( ${{ steps.version.outputs.major }} - 1))
5555
baseline_ref="llvmorg-$major_version.1.0"
5656
5757
# If there is a minor release, we want to use that as the base line.
@@ -73,8 +73,8 @@ jobs:
7373
} >> "$GITHUB_OUTPUT"
7474
else
7575
{
76-
echo "BASELINE_VERSION_MAJOR=${{ steps.version.outputs.LLVM_VERSION_MAJOR }}"
77-
echo "BASELINE_REF=llvmorg-${{ steps.version.outputs.LLVM_VERSION_MAJOR }}.1.0"
76+
echo "BASELINE_VERSION_MAJOR=${{ steps.version.outputs.major }}"
77+
echo "BASELINE_REF=llvmorg-${{ steps.version.outputs.major }}.1.0"
7878
echo "ABI_HEADERS=."
7979
echo "ABI_LIBS=libclang.so libclang-cpp.so"
8080
} >> "$GITHUB_OUTPUT"

.github/workflows/libclang-python-tests.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,6 @@ on:
2222
- '.github/workflows/libclang-python-tests.yml'
2323
- '.github/workflows/llvm-project-tests.yml'
2424

25-
concurrency:
26-
# Skip intermediate builds: always.
27-
# Cancel intermediate builds: only if it is a pull request build.
28-
group: ${{ github.workflow }}-${{ github.ref }}
29-
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
30-
3125
jobs:
3226
check-clang-python:
3327
# Build libclang and then run the libclang Python binding's unit tests.

.github/workflows/llvm-project-tests.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ concurrency:
5151
# Cancel intermediate builds: only if it is a pull request build.
5252
# If the group name here is the same as the group name in the workflow that includes
5353
# this one, then the action will try to wait on itself and get stuck.
54-
group: llvm-project-${{ github.workflow }}-${{ inputs.projects }}${{ github.ref }}
54+
group: llvm-project-${{ github.workflow }}-${{ inputs.projects }}-${{ inputs.python_version }}${{ github.ref }}
5555
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
5656

5757
jobs:
@@ -131,6 +131,7 @@ jobs:
131131
-DCMAKE_BUILD_TYPE=Release \
132132
-DLLVM_ENABLE_ASSERTIONS=ON \
133133
-DLLDB_INCLUDE_TESTS=OFF \
134+
-DLIBCLC_TARGETS_TO_BUILD="amdgcn--;amdgcn--amdhsa;r600--;nvptx--;nvptx64--;nvptx--nvidiacl;nvptx64--nvidiacl" \
134135
-DCMAKE_C_COMPILER_LAUNCHER=sccache \
135136
-DCMAKE_CXX_COMPILER_LAUNCHER=sccache \
136137
$extra_cmake_args \
@@ -142,8 +143,6 @@ jobs:
142143
env:
143144
LLVM_BUILDDIR: ${{ steps.build-llvm.outputs.llvm-builddir }}
144145
run: |
145-
# Make sure all of LLVM libraries that llvm-config needs are built.
146+
# The libclc tests don't have a generated check target so all we can
147+
# do is build it.
146148
ninja -C "$LLVM_BUILDDIR"
147-
cmake -G Ninja -S libclc -B libclc-build -DLLVM_DIR="$LLVM_BUILDDIR"/lib/cmake/llvm -DLIBCLC_TARGETS_TO_BUILD="amdgcn--;amdgcn--amdhsa;r600--;nvptx--;nvptx64--;nvptx--nvidiacl;nvptx64--nvidiacl"
148-
ninja -C libclc-build
149-
ninja -C libclc-build test

.github/workflows/llvm-tests.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ jobs:
4343
ABI_HEADERS: ${{ steps.vars.outputs.ABI_HEADERS }}
4444
BASELINE_VERSION_MAJOR: ${{ steps.vars.outputs.BASELINE_VERSION_MAJOR }}
4545
BASELINE_VERSION_MINOR: ${{ steps.vars.outputs.BASELINE_VERSION_MINOR }}
46-
LLVM_VERSION_MAJOR: ${{ steps.version.outputs.LLVM_VERSION_MAJOR }}
47-
LLVM_VERSION_MINOR: ${{ steps.version.outputs.LLVM_VERSION_MINOR }}
48-
LLVM_VERSION_PATCH: ${{ steps.version.outputs.LLVM_VERSION_PATCH }}
46+
LLVM_VERSION_MAJOR: ${{ steps.version.outputs.major }}
47+
LLVM_VERSION_MINOR: ${{ steps.version.outputs.minor }}
48+
LLVM_VERSION_PATCH: ${{ steps.version.outputs.patch }}
4949
steps:
5050
- name: Checkout source
5151
uses: actions/checkout@v4
@@ -54,7 +54,7 @@ jobs:
5454

5555
- name: Get LLVM version
5656
id: version
57-
uses: llvm/actions/get-llvm-version@main
57+
uses: ./.github/workflows/get-llvm-version
5858

5959
- name: Setup Variables
6060
id: vars
@@ -66,14 +66,14 @@ jobs:
6666
# 18.1.0 We want to check 17.0.x
6767
# 18.1.1 We want to check 18.1.0
6868
echo "BASELINE_VERSION_MINOR=1" >> "$GITHUB_OUTPUT"
69-
if [ ${{ steps.version.outputs.LLVM_VERSION_PATCH }} -eq 0 ]; then
69+
if [ ${{ steps.version.outputs.patch }} -eq 0 ]; then
7070
{
71-
echo "BASELINE_VERSION_MAJOR=$(( ${{ steps.version.outputs.LLVM_VERSION_MAJOR }} - 1))"
71+
echo "BASELINE_VERSION_MAJOR=$(( ${{ steps.version.outputs.major }} - 1))"
7272
echo "ABI_HEADERS=llvm-c"
7373
} >> "$GITHUB_OUTPUT"
7474
else
7575
{
76-
echo "BASELINE_VERSION_MAJOR=${{ steps.version.outputs.LLVM_VERSION_MAJOR }}"
76+
echo "BASELINE_VERSION_MAJOR=${{ steps.version.outputs.major }}"
7777
echo "ABI_HEADERS=."
7878
} >> "$GITHUB_OUTPUT"
7979
fi
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import github
2+
import sys
3+
4+
def main():
5+
token = sys.argv[1]
6+
7+
gh = github.Github(login_or_token=token)
8+
repo = gh.get_repo("llvm/llvm-project")
9+
10+
uploaders = set(
11+
[
12+
"DimitryAndric",
13+
"stefanp-ibm",
14+
"lei137",
15+
"omjavaid",
16+
"nicolerabjohn",
17+
"amy-kwan",
18+
"mandlebug",
19+
"zmodem",
20+
"androm3da",
21+
"tru",
22+
"rovka",
23+
"rorth",
24+
"quinnlp",
25+
"kamaub",
26+
"abrisco",
27+
"jakeegan",
28+
"maryammo",
29+
"tstellar",
30+
"github-actions[bot]",
31+
]
32+
)
33+
34+
for release in repo.get_releases():
35+
print("Release:", release.title)
36+
for asset in release.get_assets():
37+
created_at = asset.created_at
38+
updated_at = (
39+
"" if asset.created_at == asset.updated_at else asset.updated_at
40+
)
41+
print(
42+
f"{asset.name} : {asset.uploader.login} [{created_at} {updated_at}] ( {asset.download_count} )"
43+
)
44+
if asset.uploader.login not in uploaders:
45+
with open('comment', 'w') as file:
46+
file.write(f'@{asset.uploader.login} is not a valid uploader.')
47+
sys.exit(1)
48+
49+
50+
if __name__ == "__main__":
51+
main()
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Release Asset Audit
2+
3+
on:
4+
workflow_dispatch:
5+
release:
6+
schedule:
7+
# * is a special character in YAML so you have to quote this string
8+
# Run once an hour
9+
- cron: '5 * * * *'
10+
11+
pull_request:
12+
paths:
13+
- ".github/workflows/release-asset-audit.py"
14+
- ".github/workflows/release-asset-audit.yml"
15+
16+
permissions:
17+
contents: read # Default everything to read-only
18+
19+
jobs:
20+
audit:
21+
name: "Release Asset Audit"
22+
runs-on: ubuntu-22.04
23+
if: github.repository == 'llvm/llvm-project'
24+
steps:
25+
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 #v4.1.6
26+
- name: "Run Audit Script"
27+
env:
28+
GITHUB_TOKEN: ${{ github.token }}
29+
run: |
30+
pip install --require-hashes -r ./llvm/utils/git/requirements.txt
31+
python3 ./.github/workflows/release-asset-audit.py $GITHUB_TOKEN
32+
- name: "File Issue"
33+
if: >-
34+
github.event_name != 'pull_request' &&
35+
failure()
36+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea #v7.0.1
37+
with:
38+
github-token: ${{ secrets.ISSUE_SUBSCRIBER_TOKEN }}
39+
script: |
40+
var fs = require('fs');
41+
var body = ''
42+
if (fs.existsSync('./comment')) {
43+
body = fs.readFileSync('./comment') + "\n\n";
44+
}
45+
body = body + `\n\nhttps://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`
46+
47+
const issue = await github.rest.issues.create({
48+
owner: context.repo.owner,
49+
repo: context.repo.repo,
50+
title: "Release Asset Audit Failed",
51+
labels: ['infrastructure'],
52+
body: body
53+
});
54+
console.log(issue);

0 commit comments

Comments
 (0)