Skip to content

Commit 2ac7046

Browse files
authored
Merge branch 'llvm:main' into feat
2 parents 09f8e1f + 2759e47 commit 2ac7046

File tree

13,968 files changed

+1025583
-374224
lines changed

Some content is hidden

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

13,968 files changed

+1025583
-374224
lines changed

.ci/generate-buildkite-pipeline-premerge

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ function add-dependencies() {
107107
done
108108
;;
109109
compiler-rt|libc|openmp)
110-
echo clang
110+
echo clang lld
111111
;;
112112
flang|lldb)
113113
for p in llvm clang; do

.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: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,12 @@ f6d557ee34b6bbdb1dc32f29e34b4a4a8ad35e81
6464

6565
# [libc++][NFC] clang-format <shared_mutex>
6666
2d7eb9c9ea1a146412a83603d5c0c6339a5d8284
67+
68+
# [libc++] Rename _LIBCPP_INLINE_VISIBILITY to _LIBCPP_HIDE_FROM_ABI
69+
4c198542226223f6a5c5511a1f89b37d15ee10b9
70+
71+
# [libc++] Replace uses of _VSTD:: by std:: (#74331)
72+
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: 58 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,29 +33,71 @@
3333

3434
/lldb/ @JDevlieghere
3535

36-
/mlir/include/mlir/Interfaces/TilingInterface.* @MaheshRavishankar
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
3750

38-
/mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp @MaheshRavishankar
39-
/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp @MaheshRavishankar
40-
/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp @MaheshRavishankar
41-
/mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp @MaheshRavishankar
42-
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @MaheshRavishankar
43-
/mlir/lib/Interfaces/TilingInterface.* @MaheshRavishankar
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
4456

57+
# Linalg Dialect in MLIR.
58+
/mlir/include/mlir/Dialect/Linalg @dcaballe @nicolasvasilache
59+
/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
66+
67+
# MemRef Dialect in MLIR.
68+
/mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
69+
70+
# Vector Dialect in MLIR.
71+
/mlir/**/*AMX* @aartbik @dcaballe
72+
/mlir/**/*Neon* @banach-space @dcaballe @nicolasvasilache
73+
/mlir/**/*SME* @banach-space @dcaballe @nicolasvasilache
74+
/mlir/**/*SVE* @banach-space @dcaballe @nicolasvasilache
75+
/mlir/**/*VectorInterfaces* @dcaballe @nicolasvasilache
76+
/mlir/**/*VectorToSCF* @banach-space @dcaballe @nicolasvasilache @matthias-springer
77+
/mlir/**/*VectorToLLVM* @banach-space @dcaballe @nicolasvasilache
78+
/mlir/**/*X86Vector* @aartbik @dcaballe @nicolasvasilache
79+
/mlir/include/mlir/Dialect/Vector @dcaballe @nicolasvasilache
80+
/mlir/lib/Dialect/Vector @dcaballe @nicolasvasilache
81+
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
4582
/mlir/**/*EmulateNarrowType* @hanhanW
46-
/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp @hanhanW
47-
/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp @hanhanW
48-
/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp @hanhanW
49-
/mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp @hanhanW
50-
/mlir/lib/Dialect/Tensor/Transforms/FoldIntoPackAndUnpackPatterns.cpp @hanhanW
51-
/mlir/lib/Dialect/Vector/Transforms/* @hanhanW
83+
/mlir/lib/Dialect/Vector/Transforms/* @hanhanW @nicolasvasilache
84+
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
5291

5392
# Transform Dialect in MLIR.
54-
/mlir/include/mlir/Dialect/Transform/* @ftynse
55-
/mlir/lib/Dialect/Transform/* @ftynse
93+
/mlir/include/mlir/Dialect/Transform/* @ftynse @nicolasvasilache
94+
/mlir/lib/Dialect/Transform/* @ftynse @nicolasvasilache
5695

57-
# SPIR-V in MLIR.
96+
# SPIR-V Dialect in MLIR.
5897
/mlir/**/SPIRV/ @antiagainst @kuhar
5998
/mlir/**/SPIRVTo*/ @antiagainst @kuhar
6099
/mlir/**/*ToSPIRV/ @antiagainst @kuhar
61100
/mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp @antiagainst @kuhar
101+
102+
# MLIR Sparsifier.
103+
/mlir/**/*SparseTensor*/ @aartbik @PeimingLiu @yinying-lisa-li @matthias-springer

.github/dependabot.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "monthly"
7+
groups:
8+
github-actions:
9+
patterns:
10+
- "*"
11+
- package-ecosystem: "pip"
12+
directory: "/llvm/docs"
13+
schedule:
14+
interval: "monthly"
15+
groups:
16+
llvm-docs-requirements:
17+
patterns:
18+
- "*"

.github/new-prs-labeler.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,9 @@ clang-tidy:
308308
- clang-tools-extra/docs/clang-tidy/**
309309
- clang-tools-extra/test/clang-tidy/**
310310

311+
clang-tools-extra:
312+
- clang-tools-extra/**
313+
311314
tools:llvm-mca:
312315
- llvm/tools/llvm-mca/**
313316
- llvm/include/llvm/MCA/**

.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

0 commit comments

Comments
 (0)