Skip to content

Commit c1243dc

Browse files
committed
Merge branch 'main' into reverse-null
2 parents 4058a89 + f58930f commit c1243dc

File tree

8,670 files changed

+629634
-189886
lines changed

Some content is hidden

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

8,670 files changed

+629634
-189886
lines changed

.ci/generate-buildkite-pipeline-premerge

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ function compute-projects-to-test() {
7474
fi
7575
;;
7676
clang)
77-
for p in clang-tools-extra compiler-rt lldb cross-project-tests; do
77+
# lldb is temporarily removed to alleviate Linux pre-commit CI waiting times
78+
for p in clang-tools-extra compiler-rt cross-project-tests; do
7879
echo $p
7980
done
8081
;;
@@ -153,7 +154,6 @@ function exclude-linux() {
153154
for project in ${projects}; do
154155
case ${project} in
155156
cross-project-tests) ;; # tests failing
156-
lldb) ;; # tests failing
157157
openmp) ;; # https://github.com/google/llvm-premerge-checks/issues/410
158158
*)
159159
echo "${project}"
@@ -170,7 +170,7 @@ function exclude-windows() {
170170
compiler-rt) ;; # tests taking too long
171171
openmp) ;; # TODO: having trouble with the Perl installation
172172
libc) ;; # no Windows support
173-
lldb) ;; # tests failing
173+
lldb) ;; # custom environment requirements (https://github.com/llvm/llvm-project/pull/94208#issuecomment-2146256857)
174174
bolt) ;; # tests are not supported yet
175175
*)
176176
echo "${project}"
@@ -213,7 +213,7 @@ function check-targets() {
213213
echo "check-unwind"
214214
;;
215215
lldb)
216-
echo "check-all" # TODO: check-lldb may not include all the LLDB tests?
216+
echo "check-lldb"
217217
;;
218218
pstl)
219219
echo "check-all"

.ci/monolithic-linux.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ targets="${2}"
3939

4040
echo "--- cmake"
4141
pip install -q -r "${MONOREPO_ROOT}"/mlir/python/requirements.txt
42+
pip install -q -r "${MONOREPO_ROOT}"/lldb/test/requirements.txt
4243
cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
4344
-D LLVM_ENABLE_PROJECTS="${projects}" \
4445
-G Ninja \

.git-blame-ignore-revs

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

8282
# [NFC] clang-format utils/TableGen (#80973)
8383
b9079baaddfed5e604fbfaa1d81a7a1c38e78c26
84+
85+
# [libc++][NFC] Run clang-format on libcxx/include again (#95874)
86+
e2c2ffbe7a1b5d9e32a2ce64279475b50c4cba5b

.github/CODEOWNERS

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ clang/test/AST/Interp/ @tbaederr
6464
/mlir/Dialect/*/Transforms/Bufferize.cpp @matthias-springer
6565

6666
# Linalg Dialect in MLIR.
67-
/mlir/include/mlir/Dialect/Linalg/* @dcaballe @nicolasvasilache @rengolin
68-
/mlir/lib/Dialect/Linalg/* @dcaballe @nicolasvasilache @rengolin
67+
/mlir/include/mlir/Dialect/Linalg @dcaballe @nicolasvasilache @rengolin
68+
/mlir/lib/Dialect/Linalg @dcaballe @nicolasvasilache @rengolin
6969
/mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp @MaheshRavishankar @nicolasvasilache
7070
/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp @MaheshRavishankar @nicolasvasilache
7171
/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp @MaheshRavishankar @nicolasvasilache
@@ -85,8 +85,8 @@ clang/test/AST/Interp/ @tbaederr
8585
/mlir/**/*VectorToSCF* @banach-space @dcaballe @matthias-springer @nicolasvasilache
8686
/mlir/**/*VectorToLLVM* @banach-space @dcaballe @nicolasvasilache
8787
/mlir/**/*X86Vector* @aartbik @dcaballe @nicolasvasilache
88-
/mlir/include/mlir/Dialect/Vector/* @dcaballe @nicolasvasilache
89-
/mlir/lib/Dialect/Vector/* @dcaballe @nicolasvasilache
88+
/mlir/include/mlir/Dialect/Vector @dcaballe @nicolasvasilache
89+
/mlir/lib/Dialect/Vector @dcaballe @nicolasvasilache
9090
/mlir/lib/Dialect/Vector/Transforms/* @hanhanW @nicolasvasilache
9191
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
9292
/mlir/**/*EmulateNarrowType* @dcaballe @hanhanW
@@ -120,6 +120,9 @@ clang/test/AST/Interp/ @tbaederr
120120
/mlir/**/LLVMIR/**/BasicPtxBuilderInterface* @grypp
121121
/mlir/**/NVVM* @grypp
122122

123+
# MLIR Index Dialect
124+
/mlir/**/Index* @mogball
125+
123126
# MLIR Python Bindings
124127
/mlir/test/python/ @ftynse @makslevental @stellaraccident
125128
/mlir/python/ @ftynse @makslevental @stellaraccident
@@ -141,3 +144,8 @@ clang/test/AST/Interp/ @tbaederr
141144

142145
# ExtractAPI
143146
/clang/**/ExtractAPI @daniel-grumberg
147+
148+
# DWARFLinker, dwarfutil, dsymutil
149+
/llvm/**/DWARFLinker/ @JDevlieghere
150+
/llvm/**/dsymutil/ @JDevlieghere
151+
/llvm/**/llvm-dwarfutil/ @JDevlieghere
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import json
2+
import multiprocessing
3+
import os
4+
import re
5+
import subprocess
6+
import sys
7+
8+
9+
def run_analyzer(data):
10+
os.chdir(data["directory"])
11+
command = (
12+
data["command"]
13+
+ f" --analyze --analyzer-output html -o analyzer-results -Xclang -analyzer-config -Xclang max-nodes=75000"
14+
)
15+
print(command)
16+
subprocess.run(command, shell=True, check=True)
17+
18+
19+
def pool_error(e):
20+
print("Error analyzing file:", e)
21+
22+
23+
def main():
24+
db_path = sys.argv[1]
25+
database = json.load(open(db_path))
26+
27+
with multiprocessing.Pool() as pool:
28+
pool.map_async(run_analyzer, [k for k in database], error_callback=pool_error)
29+
pool.close()
30+
pool.join()
31+
32+
33+
if __name__ == "__main__":
34+
main()
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: Post-Commit Static Analyzer
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
push:
8+
branches:
9+
- 'release/**'
10+
paths:
11+
- 'clang/**'
12+
- 'llvm/**'
13+
- '.github/workflows/ci-post-commit-analyzer.yml'
14+
pull_request:
15+
types:
16+
- opened
17+
- synchronize
18+
- reopened
19+
- closed
20+
paths:
21+
- '.github/workflows/ci-post-commit-analyzer.yml'
22+
- '.github/workflows/ci-post-commit-analyzer-run.py'
23+
schedule:
24+
- cron: '30 0 * * *'
25+
26+
concurrency:
27+
group: >-
28+
llvm-project-${{ github.workflow }}-${{ github.event_name == 'pull_request' &&
29+
( github.event.pull_request.number || github.ref) }}
30+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
31+
32+
jobs:
33+
post-commit-analyzer:
34+
if: >-
35+
github.repository_owner == 'llvm' &&
36+
github.event.action != 'closed'
37+
runs-on: ubuntu-22.04
38+
container:
39+
image: 'ghcr.io/llvm/ci-ubuntu-22.04:latest'
40+
env:
41+
LLVM_VERSION: 18
42+
steps:
43+
- name: Checkout Source
44+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
45+
46+
- name: Setup ccache
47+
uses: hendrikmuhs/ccache-action@v1
48+
with:
49+
# A full build of llvm, clang, lld, and lldb takes about 250MB
50+
# of ccache space. There's not much reason to have more than this,
51+
# because we usually won't need to save cache entries from older
52+
# builds. Also, there is an overall 10GB cache limit, and each
53+
# run creates a new cache entry so we want to ensure that we have
54+
# enough cache space for all the tests to run at once and still
55+
# fit under the 10 GB limit.
56+
# Default to 2G to workaround: https://github.com/hendrikmuhs/ccache-action/issues/174
57+
max-size: 2G
58+
key: post-commit-analyzer
59+
variant: sccache
60+
61+
- name: Configure
62+
run: |
63+
cmake -B build -S llvm -G Ninja \
64+
-DLLVM_ENABLE_ASSERTIONS=ON \
65+
-DLLVM_ENABLE_PROJECTS=clang \
66+
-DLLVM_BUILD_LLVM_DYLIB=ON \
67+
-DLLVM_LINK_LLVM_DYLIB=ON \
68+
-DCMAKE_CXX_COMPILER=clang++ \
69+
-DCMAKE_C_COMPILER=clang \
70+
-DCMAKE_CXX_COMPILER_LAUNCHER=sccache \
71+
-DCMAKE_C_COMPILER_LAUNCHER=sccache \
72+
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
73+
-DLLVM_INCLUDE_TESTS=OFF \
74+
-DCLANG_INCLUDE_TESTS=OFF \
75+
-DCMAKE_BUILD_TYPE=Release
76+
77+
- name: Build
78+
run: |
79+
# FIXME: We need to build all the generated header files in order to be able to run
80+
# the analyzer on every file. Building libLLVM and libclang is probably overkill for
81+
# this, but it's better than building every target.
82+
ninja -v -C build libLLVM.so libclang.so
83+
84+
# Run the analyzer.
85+
python3 .github/workflows/ci-post-commit-analyzer-run.py build/compile_commands.json
86+
87+
scan-build --generate-index-only build/analyzer-results
88+
89+
- name: Upload Results
90+
uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0
91+
if: always()
92+
with:
93+
name: analyzer-results
94+
path: 'build/analyzer-results/*'
95+

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ RUN cmake -B ./build -G Ninja ./llvm \
3737
-DLLVM_ENABLE_RUNTIMES="compiler-rt" \
3838
-DCMAKE_INSTALL_PREFIX="$LLVM_SYSROOT" \
3939
-DLLVM_ENABLE_PROJECTS="bolt;clang;lld;clang-tools-extra" \
40-
-DLLVM_DISTRIBUTION_COMPONENTS="lld;compiler-rt;clang-format" \
40+
-DLLVM_DISTRIBUTION_COMPONENTS="lld;compiler-rt;clang-format;scan-build" \
4141
-DCLANG_DEFAULT_LINKER="lld" \
4242
-DBOOTSTRAP_CLANG_PGO_TRAINING_DATA_SOURCE_DIR=/llvm-project-llvmorg-$LLVM_VERSION/llvm
4343

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ jobs:
100100
with:
101101
fetch-depth: 1
102102
- name: Setup Python env
103-
uses: actions/setup-python@v4
103+
uses: actions/setup-python@v5
104104
with:
105105
python-version: '3.11'
106106
cache: 'pip'

.github/workflows/issue-write.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55
workflows:
66
- "Check code formatting"
77
- "Check for private emails used in PRs"
8+
- "PR Request Release Note"
89
types:
910
- completed
1011

@@ -17,7 +18,11 @@ jobs:
1718
permissions:
1819
pull-requests: write
1920
if: >
20-
github.event.workflow_run.event == 'pull_request'
21+
github.event.workflow_run.event == 'pull_request' &&
22+
(
23+
github.event.workflow_run.conclusion == 'success' ||
24+
github.event.workflow_run.conclusion == 'failure'
25+
)
2126
steps:
2227
- name: 'Download artifact'
2328
uses: actions/download-artifact@6b208ae046db98c579e8a3aa621ab581ff575935 # v4.1.1
@@ -92,7 +97,11 @@ jobs:
9297
9398
var pr_number = 0;
9499
gql_result.repository.ref.associatedPullRequests.nodes.forEach((pr) => {
95-
if (pr.baseRepository.owner.login = context.repo.owner && pr.state == 'OPEN') {
100+
101+
// The largest PR number is the one we care about. The only way
102+
// to have more than one associated pull requests is if all the
103+
// old pull requests are in the closed state.
104+
if (pr.baseRepository.owner.login = context.repo.owner && pr.number > pr_number) {
96105
pr_number = pr.number;
97106
}
98107
});

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
strategy:
3737
fail-fast: false
3838
matrix:
39-
python-version: ["3.7", "3.11"]
39+
python-version: ["3.8", "3.11"]
4040
uses: ./.github/workflows/llvm-project-tests.yml
4141
with:
4242
build_target: check-clang-python

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,16 +209,16 @@ jobs:
209209
- uses: actions/checkout@v4
210210
- name: Install dependencies
211211
run: |
212-
choco install -y ninja wget
212+
choco install -y ninja
213213
pip install psutil
214214
- name: Install a current LLVM
215215
if: ${{ matrix.mingw != true }}
216216
run: |
217-
choco install -y llvm --version=17.0.6
217+
choco install -y llvm --version=18.1.6 --allow-downgrade
218218
- name: Install llvm-mingw
219219
if: ${{ matrix.mingw == true }}
220220
run: |
221-
curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20231128/llvm-mingw-20231128-ucrt-x86_64.zip
221+
curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20240606/llvm-mingw-20240606-ucrt-x86_64.zip
222222
powershell Expand-Archive llvm-mingw*.zip -DestinationPath .
223223
del llvm-mingw*.zip
224224
mv llvm-mingw* c:\llvm-mingw

0 commit comments

Comments
 (0)