Skip to content

Commit a021f15

Browse files
committed
Merge branch 'main' into pauth-lld-20240109
2 parents 589c645 + 25e0dc9 commit a021f15

File tree

7,873 files changed

+701074
-261277
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,873 files changed

+701074
-261277
lines changed

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

.github/CODEOWNERS

Lines changed: 41 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -33,44 +33,67 @@
3333

3434
/lldb/ @JDevlieghere
3535

36-
# Linalg in MLIR.
36+
# MLIR Interfaces.
37+
/mlir/include/mlir/Interfaces/TilingInterface.* @MaheshRavishankar @nicolasvasilache
38+
/mlir/lib/Interfaces/TilingInterface.* @MaheshRavishankar @nicolasvasilache
39+
/mlir/include/mlir/Interfaces/ValueBoundsOpInterface.* @matthias-springer
40+
/mlir/lib/Interfaces/ValueBoundsOpInterface.* @matthias-springer
41+
/mlir/**/ValueBoundsOpInterfaceImpl.* @matthias-springer
42+
/mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.* @matthias-springer
43+
/mlir/lib/Interfaces/RuntimeVerifiableOpInterface.* @matthias-springer
44+
/mlir/**/RuntimeVerifiableOpInterfaceImpl.* @matthias-springer
45+
/mlir/include/mlir/Interfaces/SubsetOpInterface.* @matthias-springer
46+
/mlir/lib/Interfaces/SubsetOpInterface.* @matthias-springer
47+
/mlir/**/SubsetOpInterfaceImpl.* @matthias-springer
48+
/mlir/include/mlir/Interfaces/DestinationStyleOpInterface.* @matthias-springer
49+
/mlir/lib/Interfaces/DestinationStyleOpInterface.* @matthias-springer
50+
51+
# Bufferization Dialect in MLIR.
52+
/mlir/include/mlir/Dialect/Bufferization @matthias-springer
53+
/mlir/lib/Dialect/Bufferization @matthias-springer
54+
/mlir/**/BufferizableOpInterfaceImpl.* @matthias-springer
55+
/mlir/Dialect/*/Transforms/Bufferize.cpp @matthias-springer
56+
57+
# Linalg Dialect in MLIR.
3758
/mlir/include/mlir/Dialect/Linalg @dcaballe @nicolasvasilache
3859
/mlir/lib/Dialect/Linalg @dcaballe @nicolasvasilache
60+
/mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp @MaheshRavishankar @nicolasvasilache
61+
/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp @MaheshRavishankar @nicolasvasilache
62+
/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp @MaheshRavishankar @nicolasvasilache
63+
/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp @hanhanW @nicolasvasilache
64+
/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp @hanhanW @nicolasvasilache
65+
/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp @hanhanW @nicolasvasilache
3966

40-
# Vector in MLIR.
67+
# MemRef Dialect in MLIR.
68+
/mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
69+
70+
# Vector Dialect in MLIR.
4171
/mlir/**/*AMX* @dcaballe
4272
/mlir/**/*Neon* @banach-space @dcaballe @nicolasvasilache
4373
/mlir/**/*SME* @banach-space @dcaballe @nicolasvasilache
4474
/mlir/**/*SVE* @banach-space @dcaballe @nicolasvasilache
4575
/mlir/**/*VectorInterfaces* @dcaballe @nicolasvasilache
46-
/mlir/**/*VectorToSCF* @banach-space @dcaballe @nicolasvasilache
76+
/mlir/**/*VectorToSCF* @banach-space @dcaballe @nicolasvasilache @matthias-springer
4777
/mlir/**/*VectorToLLVM* @banach-space @dcaballe @nicolasvasilache
4878
/mlir/**/*X86Vector* @dcaballe @nicolasvasilache
4979
/mlir/include/mlir/Dialect/Vector @dcaballe @nicolasvasilache
5080
/mlir/lib/Dialect/Vector @dcaballe @nicolasvasilache
51-
52-
/mlir/include/mlir/Interfaces/TilingInterface.* @MaheshRavishankar @nicolasvasilache
53-
54-
/mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp @MaheshRavishankar @nicolasvasilache
55-
/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp @MaheshRavishankar @nicolasvasilache
56-
/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp @MaheshRavishankar @nicolasvasilache
57-
/mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
5881
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
59-
/mlir/lib/Interfaces/TilingInterface.* @MaheshRavishankar @nicolasvasilache
60-
6182
/mlir/**/*EmulateNarrowType* @hanhanW
62-
/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp @hanhanW @nicolasvasilache
63-
/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp @hanhanW @nicolasvasilache
64-
/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp @hanhanW @nicolasvasilache
65-
/mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp @hanhanW @nicolasvasilache
66-
/mlir/lib/Dialect/Tensor/Transforms/FoldIntoPackAndUnpackPatterns.cpp @hanhanW @nicolasvasilache
6783
/mlir/lib/Dialect/Vector/Transforms/* @hanhanW @nicolasvasilache
6884

85+
# Presburger library in MLIR
86+
/mlir/**/*Presburger* @Groverkss @Superty
87+
88+
# Tensor Dialect in MLIR.
89+
/mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp @hanhanW @nicolasvasilache
90+
/mlir/lib/Dialect/Tensor/Transforms/* @hanhanW @nicolasvasilache
91+
6992
# Transform Dialect in MLIR.
7093
/mlir/include/mlir/Dialect/Transform/* @ftynse @nicolasvasilache
7194
/mlir/lib/Dialect/Transform/* @ftynse @nicolasvasilache
7295

73-
# SPIR-V in MLIR.
96+
# SPIR-V Dialect in MLIR.
7497
/mlir/**/SPIRV/ @antiagainst @kuhar
7598
/mlir/**/SPIRVTo*/ @antiagainst @kuhar
7699
/mlir/**/*ToSPIRV/ @antiagainst @kuhar

.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: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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"]'

0 commit comments

Comments
 (0)