Skip to content

Commit cf419e3

Browse files
authored
Merge branch 'sycl' into run-device-global-hip
2 parents 2ba1b7b + 6eac61a commit cf419e3

File tree

7,536 files changed

+511805
-251341
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,536 files changed

+511805
-251341
lines changed

.ci/monolithic-linux.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ cmake -S ${MONOREPO_ROOT}/llvm -B ${BUILD_DIR} \
4545
-D LLVM_ENABLE_ASSERTIONS=ON \
4646
-D LLVM_BUILD_EXAMPLES=ON \
4747
-D COMPILER_RT_BUILD_LIBFUZZER=OFF \
48-
-D LLVM_LIT_ARGS="-v --xunit-xml-output ${BUILD_DIR}/test-results.xml" \
48+
-D LLVM_LIT_ARGS="-v --xunit-xml-output ${BUILD_DIR}/test-results.xml --timeout=1200 --time-tests" \
4949
-D LLVM_ENABLE_LLD=ON \
5050
-D CMAKE_CXX_FLAGS=-gmlt \
5151
-D BOLT_CLANG_EXE=/usr/bin/clang \

.ci/monolithic-windows.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ cmake -S ${MONOREPO_ROOT}/llvm -B ${BUILD_DIR} \
4545
-D LLVM_ENABLE_ASSERTIONS=ON \
4646
-D LLVM_BUILD_EXAMPLES=ON \
4747
-D COMPILER_RT_BUILD_LIBFUZZER=OFF \
48-
-D LLVM_LIT_ARGS="-v --xunit-xml-output ${BUILD_DIR}/test-results.xml" \
48+
-D LLVM_LIT_ARGS="-v --xunit-xml-output ${BUILD_DIR}/test-results.xml --timeout=1200 --time-tests" \
4949
-D COMPILER_RT_BUILD_ORC=OFF \
5050
-D CMAKE_C_COMPILER_LAUNCHER=sccache \
5151
-D CMAKE_CXX_COMPILER_LAUNCHER=sccache \

.git-blame-ignore-revs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,6 @@ f6d557ee34b6bbdb1dc32f29e34b4a4a8ad35e81
7070

7171
# [libc++] Replace uses of _VSTD:: by std:: (#74331)
7272
77a00c0d546cd4aa8311b5b9031ae9ea8cdb050c
73+
74+
# [libc++] Format the code base (#74334)
75+
9783f28cbb155e4a8d49c12e1c60ce14dcfaf0c7

.gitattributes

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,143 @@
11
.github/CODEOWNERS merge=ours
2+
libcxx/src/**/*.cpp merge=libcxx-reformat
3+
libcxx/include/**/*.h merge=libcxx-reformat
4+
5+
# Explicitly handle files with no extension
6+
libcxx/include/__availability merge=libcxx-reformat
7+
libcxx/include/__bit_reference merge=libcxx-reformat
8+
libcxx/include/__config merge=libcxx-reformat
9+
libcxx/include/__hash_table merge=libcxx-reformat
10+
libcxx/include/__locale merge=libcxx-reformat
11+
libcxx/include/__node_handle merge=libcxx-reformat
12+
libcxx/include/__split_buffer merge=libcxx-reformat
13+
libcxx/include/__std_clang_module merge=libcxx-reformat
14+
libcxx/include/__threading_support merge=libcxx-reformat
15+
libcxx/include/__tree merge=libcxx-reformat
16+
libcxx/include/__verbose_abort merge=libcxx-reformat
17+
libcxx/include/algorithm merge=libcxx-reformat
18+
libcxx/include/any merge=libcxx-reformat
19+
libcxx/include/array merge=libcxx-reformat
20+
libcxx/include/atomic merge=libcxx-reformat
21+
libcxx/include/barrier merge=libcxx-reformat
22+
libcxx/include/bit merge=libcxx-reformat
23+
libcxx/include/bitset merge=libcxx-reformat
24+
libcxx/include/cassert merge=libcxx-reformat
25+
libcxx/include/ccomplex merge=libcxx-reformat
26+
libcxx/include/cctype merge=libcxx-reformat
27+
libcxx/include/cerrno merge=libcxx-reformat
28+
libcxx/include/cfenv merge=libcxx-reformat
29+
libcxx/include/cfloat merge=libcxx-reformat
30+
libcxx/include/charconv merge=libcxx-reformat
31+
libcxx/include/chrono merge=libcxx-reformat
32+
libcxx/include/cinttypes merge=libcxx-reformat
33+
libcxx/include/ciso646 merge=libcxx-reformat
34+
libcxx/include/climits merge=libcxx-reformat
35+
libcxx/include/clocale merge=libcxx-reformat
36+
libcxx/include/cmath merge=libcxx-reformat
37+
libcxx/include/codecvt merge=libcxx-reformat
38+
libcxx/include/compare merge=libcxx-reformat
39+
libcxx/include/complex merge=libcxx-reformat
40+
libcxx/include/concepts merge=libcxx-reformat
41+
libcxx/include/condition_variable merge=libcxx-reformat
42+
libcxx/include/coroutine merge=libcxx-reformat
43+
libcxx/include/csetjmp merge=libcxx-reformat
44+
libcxx/include/csignal merge=libcxx-reformat
45+
libcxx/include/cstdarg merge=libcxx-reformat
46+
libcxx/include/cstdbool merge=libcxx-reformat
47+
libcxx/include/cstddef merge=libcxx-reformat
48+
libcxx/include/cstdint merge=libcxx-reformat
49+
libcxx/include/cstdio merge=libcxx-reformat
50+
libcxx/include/cstdlib merge=libcxx-reformat
51+
libcxx/include/cstring merge=libcxx-reformat
52+
libcxx/include/ctgmath merge=libcxx-reformat
53+
libcxx/include/ctime merge=libcxx-reformat
54+
libcxx/include/cuchar merge=libcxx-reformat
55+
libcxx/include/cwchar merge=libcxx-reformat
56+
libcxx/include/cwctype merge=libcxx-reformat
57+
libcxx/include/deque merge=libcxx-reformat
58+
libcxx/include/exception merge=libcxx-reformat
59+
libcxx/include/execution merge=libcxx-reformat
60+
libcxx/include/expected merge=libcxx-reformat
61+
libcxx/include/experimental/__config merge=libcxx-reformat
62+
libcxx/include/experimental/__memory merge=libcxx-reformat
63+
libcxx/include/experimental/deque merge=libcxx-reformat
64+
libcxx/include/experimental/forward_list merge=libcxx-reformat
65+
libcxx/include/experimental/iterator merge=libcxx-reformat
66+
libcxx/include/experimental/list merge=libcxx-reformat
67+
libcxx/include/experimental/map merge=libcxx-reformat
68+
libcxx/include/experimental/memory merge=libcxx-reformat
69+
libcxx/include/experimental/memory_resource merge=libcxx-reformat
70+
libcxx/include/experimental/propagate_const merge=libcxx-reformat
71+
libcxx/include/experimental/regex merge=libcxx-reformat
72+
libcxx/include/experimental/set merge=libcxx-reformat
73+
libcxx/include/experimental/simd merge=libcxx-reformat
74+
libcxx/include/experimental/string merge=libcxx-reformat
75+
libcxx/include/experimental/type_traits merge=libcxx-reformat
76+
libcxx/include/experimental/unordered_map merge=libcxx-reformat
77+
libcxx/include/experimental/unordered_set merge=libcxx-reformat
78+
libcxx/include/experimental/utility merge=libcxx-reformat
79+
libcxx/include/experimental/vector merge=libcxx-reformat
80+
libcxx/include/ext/__hash merge=libcxx-reformat
81+
libcxx/include/ext/hash_map merge=libcxx-reformat
82+
libcxx/include/ext/hash_set merge=libcxx-reformat
83+
libcxx/include/filesystem merge=libcxx-reformat
84+
libcxx/include/format merge=libcxx-reformat
85+
libcxx/include/forward_list merge=libcxx-reformat
86+
libcxx/include/fstream merge=libcxx-reformat
87+
libcxx/include/functional merge=libcxx-reformat
88+
libcxx/include/future merge=libcxx-reformat
89+
libcxx/include/initializer_list merge=libcxx-reformat
90+
libcxx/include/iomanip merge=libcxx-reformat
91+
libcxx/include/ios merge=libcxx-reformat
92+
libcxx/include/iosfwd merge=libcxx-reformat
93+
libcxx/include/iostream merge=libcxx-reformat
94+
libcxx/include/istream merge=libcxx-reformat
95+
libcxx/include/iterator merge=libcxx-reformat
96+
libcxx/include/latch merge=libcxx-reformat
97+
libcxx/include/limits merge=libcxx-reformat
98+
libcxx/include/list merge=libcxx-reformat
99+
libcxx/include/locale merge=libcxx-reformat
100+
libcxx/include/map merge=libcxx-reformat
101+
libcxx/include/mdspan merge=libcxx-reformat
102+
libcxx/include/memory merge=libcxx-reformat
103+
libcxx/include/memory_resource merge=libcxx-reformat
104+
libcxx/include/mutex merge=libcxx-reformat
105+
libcxx/include/new merge=libcxx-reformat
106+
libcxx/include/numbers merge=libcxx-reformat
107+
libcxx/include/numeric merge=libcxx-reformat
108+
libcxx/include/optional merge=libcxx-reformat
109+
libcxx/include/ostream merge=libcxx-reformat
110+
libcxx/include/print merge=libcxx-reformat
111+
libcxx/include/queue merge=libcxx-reformat
112+
libcxx/include/random merge=libcxx-reformat
113+
libcxx/include/ranges merge=libcxx-reformat
114+
libcxx/include/ratio merge=libcxx-reformat
115+
libcxx/include/regex merge=libcxx-reformat
116+
libcxx/include/scoped_allocator merge=libcxx-reformat
117+
libcxx/include/semaphore merge=libcxx-reformat
118+
libcxx/include/set merge=libcxx-reformat
119+
libcxx/include/shared_mutex merge=libcxx-reformat
120+
libcxx/include/source_location merge=libcxx-reformat
121+
libcxx/include/span merge=libcxx-reformat
122+
libcxx/include/sstream merge=libcxx-reformat
123+
libcxx/include/stack merge=libcxx-reformat
124+
libcxx/include/stdexcept merge=libcxx-reformat
125+
libcxx/include/stop_token merge=libcxx-reformat
126+
libcxx/include/streambuf merge=libcxx-reformat
127+
libcxx/include/string merge=libcxx-reformat
128+
libcxx/include/string_view merge=libcxx-reformat
129+
libcxx/include/strstream merge=libcxx-reformat
130+
libcxx/include/syncstream merge=libcxx-reformat
131+
libcxx/include/system_error merge=libcxx-reformat
132+
libcxx/include/thread merge=libcxx-reformat
133+
libcxx/include/tuple merge=libcxx-reformat
134+
libcxx/include/type_traits merge=libcxx-reformat
135+
libcxx/include/typeindex merge=libcxx-reformat
136+
libcxx/include/typeinfo merge=libcxx-reformat
137+
libcxx/include/unordered_map merge=libcxx-reformat
138+
libcxx/include/unordered_set merge=libcxx-reformat
139+
libcxx/include/utility merge=libcxx-reformat
140+
libcxx/include/valarray merge=libcxx-reformat
141+
libcxx/include/variant merge=libcxx-reformat
142+
libcxx/include/vector merge=libcxx-reformat
143+
libcxx/include/version merge=libcxx-reformat

.github/workflows/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Github action workflows should be stored in this directrory.
1+
Github action workflows should be stored in this directory.
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
2+
name: Build CI Container
3+
4+
permissions:
5+
contents: read
6+
7+
on:
8+
push:
9+
branches:
10+
- main
11+
paths:
12+
- .github/workflows/build-ci-container.yml
13+
- '.github/workflows/containers/github-action-ci/**'
14+
pull_request:
15+
branches:
16+
- main
17+
paths:
18+
- .github/workflows/build-ci-container.yml
19+
- '.github/workflows/containers/github-action-ci/**'
20+
21+
jobs:
22+
build-ci-container:
23+
if: github.repository_owner == 'llvm'
24+
runs-on: ubuntu-latest
25+
permissions:
26+
packages: write
27+
steps:
28+
- name: Write Variables
29+
id: vars
30+
run: |
31+
tag=`date +%s`
32+
container_name="ghcr.io/$GITHUB_REPOSITORY_OWNER/ci-ubuntu-22.04"
33+
echo "container-name=$container_name" >> $GITHUB_OUTPUT
34+
echo "container-name-tag=$container_name:$tag" >> $GITHUB_OUTPUT
35+
36+
- name: Checkout LLVM
37+
uses: actions/checkout@v4
38+
with:
39+
sparse-checkout: .github/workflows/containers/github-action-ci/
40+
41+
- name: Build Container
42+
working-directory: ./.github/workflows/containers/github-action-ci/
43+
run: |
44+
podman build -t ${{ steps.vars.outputs.container-name-tag }} .
45+
podman tag ${{ steps.vars.outputs.container-name-tag }} ${{ steps.vars.outputs.container-name }}:latest
46+
47+
- name: Test Container
48+
run: |
49+
for image in ${{ steps.vars.outputs.container-name-tag }} ${{ steps.vars.outputs.container-name }}; do
50+
podman run --rm -it $image /usr/bin/bash -x -c 'printf '\''#include <iostream>\nint main(int argc, char **argv) { std::cout << "Hello\\n"; }'\'' | clang++ -x c++ - && ./a.out | grep Hello'
51+
done
52+
53+
- name: Push Container
54+
if: github.event_name == 'push'
55+
env:
56+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
57+
run: |
58+
podman login -u ${{ github.actor }} -p $GITHUB_TOKEN ghcr.io
59+
podman push ${{ steps.vars.outputs.container-name-tag }}
60+
podman push ${{ steps.vars.outputs.container-name }}:latest
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
FROM docker.io/library/ubuntu:22.04 as base
2+
ENV LLVM_SYSROOT=/opt/llvm/
3+
4+
FROM base as toolchain
5+
ENV LLVM_MAJOR=17
6+
ENV LLVM_VERSION=${LLVM_MAJOR}.0.6
7+
ENV LLVM_DIRNAME=clang+llvm-${LLVM_VERSION}-x86_64-linux-gnu-ubuntu-22.04
8+
ENV LLVM_FILENAME=${LLVM_DIRNAME}.tar.xz
9+
10+
RUN apt-get update && \
11+
apt-get install -y \
12+
curl \
13+
xz-utils
14+
15+
RUN mkdir -p $LLVM_SYSROOT/bin/ $LLVM_SYSROOT/lib/
16+
17+
RUN curl -O -L https://github.com/llvm/llvm-project/releases/download/llvmorg-$LLVM_VERSION/$LLVM_FILENAME
18+
19+
RUN tar -C $LLVM_SYSROOT --strip-components=1 -xJf $LLVM_FILENAME \
20+
$LLVM_DIRNAME/bin/clang \
21+
$LLVM_DIRNAME/bin/clang++ \
22+
$LLVM_DIRNAME/bin/clang-cl \
23+
$LLVM_DIRNAME/bin/clang-$LLVM_MAJOR \
24+
$LLVM_DIRNAME/bin/lld \
25+
$LLVM_DIRNAME/bin/ld.lld \
26+
$LLVM_DIRNAME/lib/clang/
27+
28+
29+
FROM base
30+
31+
COPY --from=toolchain $LLVM_SYSROOT $LLVM_SYSROOT
32+
33+
# Need to install curl for hendrikmuhs/ccache-action
34+
# Need nodejs for some of the GitHub actions.
35+
# Need perl-modules for clang analyzer tests.
36+
RUN apt-get update && \
37+
apt-get install -y \
38+
binutils \
39+
cmake \
40+
curl \
41+
libstdc++-11-dev \
42+
ninja-build \
43+
nodejs \
44+
perl-modules \
45+
python3-psutil
46+
47+
ENV LLVM_SYSROOT=$LLVM_SYSROOT
48+
ENV PATH=${LLVM_SYSROOT}/bin:${PATH}

.github/workflows/docs.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
fetch-depth: 1
6464
- name: Get subprojects that have doc changes
6565
id: docs-changed-subprojects
66-
uses: tj-actions/changed-files@v39
66+
uses: tj-actions/changed-files@v41
6767
with:
6868
files_yaml: |
6969
llvm:
@@ -167,4 +167,3 @@ jobs:
167167
run: |
168168
cmake -B flang-build -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;mlir;flang" -DLLVM_ENABLE_SPHINX=ON -DSPHINX_WARNINGS_AS_ERRORS=OFF ./llvm
169169
TZ=UTC ninja -C flang-build docs-flang-html docs-flang-man
170-
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Libclang Python Binding Tests
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
workflow_dispatch:
8+
push:
9+
paths:
10+
- 'clang/bindings/python/**'
11+
- 'clang/tools/libclang/**'
12+
- 'clang/CMakeList.txt'
13+
- '.github/workflows/libclang-python-tests.yml'
14+
- '.github/workflows/llvm-project-tests.yml'
15+
pull_request:
16+
paths:
17+
- 'clang/bindings/python/**'
18+
- 'clang/tools/libclang/**'
19+
- 'clang/CMakeList.txt'
20+
- '.github/workflows/libclang-python-tests.yml'
21+
- '.github/workflows/llvm-project-tests.yml'
22+
23+
concurrency:
24+
# Skip intermediate builds: always.
25+
# Cancel intermediate builds: only if it is a pull request build.
26+
group: ${{ github.workflow }}-${{ github.ref }}
27+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
28+
29+
jobs:
30+
check-clang-python:
31+
# Build libclang and then run the libclang Python binding's unit tests.
32+
name: Build and run Python unit tests
33+
uses: ./.github/workflows/llvm-project-tests.yml
34+
with:
35+
build_target: check-clang-python
36+
projects: clang
37+
# There is an issue running on "windows-2019".
38+
# See https://github.com/llvm/llvm-project/issues/76601#issuecomment-1873049082.
39+
os_list: '["ubuntu-latest"]'

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ jobs:
161161
'generic-no-unicode',
162162
'generic-no-wide-characters',
163163
'generic-no-rtti',
164+
'generic-optimized-speed',
164165
'generic-static',
165166
'generic-with_llvm_unwinder',
166167
# TODO Find a better place for the benchmark and bootstrapping builds to live. They're either very expensive
@@ -185,7 +186,7 @@ jobs:
185186
std_modules: 'OFF'
186187
# Use a larger machine for MSAN to avoid timeout and memory allocation issues.
187188
- config: 'generic-msan'
188-
machine: libcxx-runners-32-set
189+
machine: libcxx-runners-8-set
189190
std_modules: 'OFF'
190191
runs-on: ${{ matrix.machine }}
191192
steps:
@@ -207,4 +208,3 @@ jobs:
207208
**/CMakeError.log
208209
**/CMakeOutput.log
209210
**/crash_diagnostics/*
210-

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ jobs:
8787
# enough cache space for all the tests to run at once and still
8888
# fit under the 10 GB limit.
8989
max-size: 500M
90-
key: sccache-${{ matrix.os }}
90+
key: ${{ matrix.os }}
9191
variant: sccache
9292
- name: Build and Test
9393
uses: llvm/actions/build-test-llvm-project@main

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ permissions:
66
jobs:
77
code_formatter:
88
runs-on: ubuntu-latest
9-
if: github.repository == 'llvm/llvm-project' || github.repository == 'intel/llvm'
9+
if: (github.repository == 'llvm/llvm-project' || github.repository == 'intel/llvm') && !contains(github.event.pull_request.labels.*.name, 'disable-lint')
1010
steps:
1111
- name: Fetch LLVM sources
1212
uses: actions/checkout@v4
@@ -22,7 +22,7 @@ jobs:
2222

2323
- name: Get changed files
2424
id: changed-files
25-
uses: tj-actions/changed-files@v39
25+
uses: tj-actions/changed-files@v41
2626
with:
2727
separator: ","
2828
skip_initial_fetch: true

0 commit comments

Comments
 (0)