Skip to content

Commit dab6f68

Browse files
authored
Merge branch 'main' into write-buffer-poly
2 parents 008397f + 2e2fe68 commit dab6f68

File tree

2,120 files changed

+135227
-81888
lines changed

Some content is hidden

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

2,120 files changed

+135227
-81888
lines changed

.ci/generate_test_report_lib.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,18 @@ def _parse_ninja_log(ninja_log: list[str]) -> list[tuple[str, str]]:
6262
# aligned with the failure.
6363
failing_action = ninja_log[index].split("FAILED: ")[1]
6464
failure_log = []
65+
66+
# Parse the lines above the FAILED: string if the line does not come
67+
# immediately after a progress indicator to ensure that we capture the
68+
# entire failure message.
69+
if not ninja_log[index - 1].startswith("["):
70+
before_index = index - 1
71+
while before_index > 0 and not ninja_log[before_index].startswith("["):
72+
failure_log.append(ninja_log[before_index])
73+
before_index = before_index - 1
74+
failure_log.reverse()
75+
76+
# Parse the failure information, which comes after the FAILED: tag.
6577
while (
6678
index < len(ninja_log)
6779
and not ninja_log[index].startswith("[")
@@ -184,8 +196,8 @@ def generate_report(
184196
if return_code == 0:
185197
report.extend(
186198
[
187-
"The build succeeded and no tests ran. This is expected in some "
188-
"build configurations."
199+
":white_check_mark: The build succeeded and no tests ran. "
200+
"This is expected in some build configurations."
189201
]
190202
)
191203
else:
@@ -272,6 +284,10 @@ def plural(num_tests):
272284
]
273285
)
274286
report.extend(_format_failures(ninja_failures, failure_explanations))
287+
else:
288+
report.extend(
289+
["", ":white_check_mark: The build succeeded and all tests passed."]
290+
)
275291

276292
if failures or return_code != 0:
277293
report.extend(["", UNRELATED_FAILURES_STR])

.ci/generate_test_report_lib_test.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ def test_ninja_log_mismatched_failed(self):
181181
"tools/check-langley",
182182
dedent(
183183
"""\
184+
ModuleNotFoundError: No module named 'mount_langley'
184185
FAILED: tools/check-langley
185186
Wow! This system is really broken!"""
186187
),
@@ -194,7 +195,7 @@ def test_title_only(self):
194195
"""\
195196
# Foo
196197
197-
The build succeeded and no tests ran. This is expected in some build configurations."""
198+
:white_check_mark: The build succeeded and no tests ran. This is expected in some build configurations."""
198199
),
199200
)
200201

@@ -308,7 +309,9 @@ def test_no_failures(self):
308309
"""\
309310
# Foo
310311
311-
* 1 test passed"""
312+
* 1 test passed
313+
314+
:white_check_mark: The build succeeded and all tests passed."""
312315
)
313316
),
314317
)

.ci/premerge_advisor_explain.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,8 @@ def main(
129129
# If the job succeeds and there is not an existing comment, we
130130
# should not write one to reduce noise.
131131
comments = []
132-
with open("comments", "w") as comment_file_handle:
132+
comments_file_name = f"comments-{platform.system()}-{platform.machine()}"
133+
with open(comments_file_name, "w") as comment_file_handle:
133134
json.dump(comments, comment_file_handle)
134135

135136

.github/CODEOWNERS

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp @nikic
2929
/llvm/lib/Transforms/InstCombine/ @nikic
3030

31+
# AMDGPU buffer pointer lowerings
32+
/llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp @krzysz00
33+
3134
/clang/test/CXX/drs/ @Endilll
3235
/clang/www/cxx_dr_status.html @Endilll
3336
/clang/www/make_cxx_dr_status @Endilll
@@ -93,9 +96,9 @@
9396
/mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp @MaheshRavishankar @nicolasvasilache
9497
/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp @dcaballe @MaheshRavishankar @nicolasvasilache
9598
/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp @MaheshRavishankar @nicolasvasilache
96-
/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp @hanhanW @nicolasvasilache
97-
/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp @dcaballe @hanhanW @nicolasvasilache
98-
/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp @banach-space @dcaballe @hanhanW @nicolasvasilache @Groverkss
99+
/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp @nicolasvasilache
100+
/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp @dcaballe @nicolasvasilache
101+
/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp @banach-space @dcaballe @nicolasvasilache @Groverkss
99102

100103
# MemRef Dialect in MLIR.
101104
/mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
@@ -112,16 +115,16 @@
112115
/mlir/include/mlir/Dialect/Vector @banach-space @dcaballe @nicolasvasilache @Groverkss
113116
/mlir/include/mlir/Dialect/Vector/IR @kuhar
114117
/mlir/lib/Dialect/Vector @banach-space @dcaballe @nicolasvasilache @Groverkss
115-
/mlir/lib/Dialect/Vector/Transforms/* @banach-space @dcaballe @hanhanW @nicolasvasilache
118+
/mlir/lib/Dialect/Vector/Transforms/* @banach-space @dcaballe @nicolasvasilache
116119
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @banach-space @dcaballe @MaheshRavishankar @nicolasvasilache
117-
/mlir/**/*EmulateNarrowType* @dcaballe @hanhanW
120+
/mlir/**/*EmulateNarrowType* @dcaballe
118121

119122
# Presburger library in MLIR
120123
/mlir/**/*Presburger* @Groverkss @Superty
121124

122125
# Tensor Dialect in MLIR.
123-
/mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp @hanhanW @nicolasvasilache
124-
/mlir/lib/Dialect/Tensor/Transforms/* @hanhanW @nicolasvasilache
126+
/mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp @nicolasvasilache
127+
/mlir/lib/Dialect/Tensor/Transforms/* @nicolasvasilache
125128

126129
# Transform Dialect in MLIR.
127130
/mlir/include/mlir/Dialect/Transform/* @ftynse @nicolasvasilache @rolfmorel
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Test Issue Write
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
pull_request:
8+
paths:
9+
- '.github/workflows/issue-write-test.yaml'
10+
- '.github/workflows/issue-write.yml'
11+
12+
jobs:
13+
test-issue-write:
14+
name: "Test Issue Write"
15+
runs-on: ubuntu-24.04
16+
if: github.repository == 'llvm/llvm-project'
17+
steps:
18+
- name: Write Comment
19+
run: |
20+
echo '[{"body": "This is a comment for testing the issue write workflow"}]' > comments-foo
21+
echo '[{"body": "This is another comment for testing the issue write workflow that was placed in a separate file"}]' > comments-bar
22+
- name: Upload Comment
23+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
24+
with:
25+
name: workflow-args-foo
26+
path: |
27+
comments-foo
28+
- name: Upload Comment
29+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
30+
with:
31+
name: workflow-args-bar
32+
path: |
33+
comments-bar

.github/workflows/issue-write.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
- "PR Request Release Note"
99
- "Code lint"
1010
- "CI Checks"
11+
- "Test Issue Write"
1112
types:
1213
- completed
1314

@@ -40,13 +41,18 @@ jobs:
4041
artifact-name: workflow-args
4142

4243
- name: 'Comment on PR'
43-
if: steps.download-artifact.outputs.artifact-id != ''
44+
if: steps.download-artifact.outputs.artifact-ids != ''
4445
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
4546
with:
4647
github-token: ${{ secrets.GITHUB_TOKEN }}
4748
script: |
4849
var fs = require('fs');
49-
const comments = JSON.parse(fs.readFileSync('./comments'));
50+
var comments = []
51+
for (local_file of fs.readdirSync('.')) {
52+
if (local_file.startsWith("comments")) {
53+
comments.push(...JSON.parse(fs.readFileSync(local_file)))
54+
}
55+
}
5056
if (!comments || comments.length == 0) {
5157
return;
5258
}
@@ -155,5 +161,5 @@ jobs:
155161
- name: Dump comments file
156162
if: >-
157163
always() &&
158-
steps.download-artifact.outputs.artifact-id != ''
159-
run: cat comments
164+
steps.download-artifact.outputs.artifact-ids != ''
165+
run: cat comments*

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

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,9 @@ jobs:
223223
source .venv/bin/activate
224224
python -m pip install psutil
225225
xcrun bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
226+
env:
227+
CC: clang
228+
CXX: clang++
226229
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
227230
if: always() # Upload artifacts even if the build or test suite fails
228231
with:
@@ -241,16 +244,16 @@ jobs:
241244
fail-fast: false
242245
matrix:
243246
include:
244-
- { config: clang-cl-dll, mingw: false }
245-
- { config: clang-cl-static, mingw: false }
246-
- { config: clang-cl-no-vcruntime, mingw: false }
247-
- { config: clang-cl-debug, mingw: false }
248-
- { config: clang-cl-static-crt, mingw: false }
249-
- { config: mingw-dll, mingw: true }
250-
- { config: mingw-static, mingw: true }
251-
- { config: mingw-dll-i686, mingw: true }
252-
- { config: mingw-incomplete-sysroot, mingw: true }
253-
- { config: mingw-static, mingw: true, runner: windows-11-arm }
247+
- { config: clang-cl-dll, mingw: false, cc: clang-cl, cxx: clang-cl }
248+
- { config: clang-cl-static, mingw: false, cc: clang-cl, cxx: clang-cl }
249+
- { config: clang-cl-no-vcruntime, mingw: false, cc: clang-cl, cxx: clang-cl }
250+
- { config: clang-cl-debug, mingw: false, cc: clang-cl, cxx: clang-cl }
251+
- { config: clang-cl-static-crt, mingw: false, cc: clang-cl, cxx: clang-cl }
252+
- { config: mingw-dll, mingw: true, cc: cc, cxx: c++ }
253+
- { config: mingw-dll, mingw: true, cc: i686-w64-mingw32-clang, cxx: i686-w64-mingw32-clang++ }
254+
- { config: mingw-static, mingw: true, cc: cc, cxx: c++ }
255+
- { config: mingw-incomplete-sysroot, mingw: true, cc: cc, cxx: c++ }
256+
- { config: mingw-static, mingw: true, cc: cc, cxx: c++, runner: windows-11-arm }
254257
runs-on: ${{ matrix.runner != '' && matrix.runner || 'windows-2022' }}
255258
steps:
256259
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
@@ -286,5 +289,7 @@ jobs:
286289
run: |
287290
echo "c:\Program Files\LLVM\bin" | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append
288291
- name: Build and test
289-
run: |
290-
bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
292+
run: bash libcxx/utils/ci/run-buildbot ${{ matrix.config }}
293+
env:
294+
CC: ${{ matrix.cc }}
295+
CXX: ${{ matrix.cxx }}

.github/workflows/libcxx-check-generated-files.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@ jobs:
2222

2323
- name: Check generated files
2424
run: libcxx/utils/ci/run-buildbot check-generated-output
25+
env:
26+
CC: cc
27+
CXX: c++

.github/workflows/premerge.yaml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ jobs:
6363
fetch-depth: 2
6464
- name: Build and Test
6565
timeout-minutes: 120
66-
continue-on-error: ${{ runner.arch == 'ARM64' }}
6766
env:
6867
GITHUB_TOKEN: ${{ github.token }}
6968
GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }}
@@ -124,9 +123,9 @@ jobs:
124123
if: ${{ always() && !startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') }}
125124
continue-on-error: true
126125
with:
127-
name: workflow-args
126+
name: workflow-args-x86-linux
128127
path: |
129-
comments
128+
comments-Linux-x86_64
130129
131130
premerge-checks-windows:
132131
name: Build and Test Windows
@@ -185,6 +184,14 @@ jobs:
185184
path: artifacts/
186185
retention-days: 5
187186
include-hidden-files: 'true'
187+
- name: Upload Comment
188+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
189+
if: always()
190+
continue-on-error: true
191+
with:
192+
name: workflow-args-windows
193+
path: |
194+
comments-Windows-x86_64
188195
189196
premerge-check-macos:
190197
name: MacOS Premerge Checks

.github/workflows/release-sources.yml

Lines changed: 37 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,11 @@ jobs:
6464
name: Package Release Sources
6565
if: github.repository_owner == 'llvm'
6666
runs-on: ubuntu-24.04
67+
outputs:
68+
digest: ${{ steps.digest.outputs.digest }}
69+
artifact-id: ${{ steps.artifact-upload.outputs.artifact-id }}
6770
needs:
6871
- inputs
69-
permissions:
70-
id-token: write
71-
attestations: write
7272
steps:
7373
- name: Checkout LLVM
7474
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
@@ -79,30 +79,47 @@ jobs:
7979
run: |
8080
pip install --require-hashes -r ./llvm/utils/git/requirements.txt
8181
82-
- name: Check Permissions
83-
if: github.event_name != 'pull_request'
84-
env:
85-
GITHUB_TOKEN: ${{ github.token }}
86-
USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
87-
run: |
88-
./llvm/utils/release/./github-upload-release.py --token "$GITHUB_TOKEN" --user ${{ github.actor }} --user-token "$USER_TOKEN" check-permissions
8982
- name: Create Tarballs
9083
run: |
9184
./llvm/utils/release/export.sh ${{ needs.inputs.outputs.export-args }}
92-
- name: Attest Build Provenance
93-
if: github.event_name != 'pull_request'
94-
id: provenance
95-
uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
96-
with:
97-
subject-path: "*.xz"
98-
- if: github.event_name != 'pull_request'
85+
86+
- name: Generate sha256 digest for sources
87+
id: digest
9988
run: |
100-
mv ${{ steps.provenance.outputs.bundle-path }} .
101-
- name: Create Tarball Artifacts
89+
echo "digest=$(cat *.xz | sha256sum | cut -d ' ' -f 1)" >> $GITHUB_OUTPUT
90+
91+
- name: Release Sources Artifact
92+
id: artifact-upload
10293
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
10394
with:
95+
name: ${{ needs.inputs.outputs.ref }}-sources
10496
path: |
10597
*.xz
106-
attestation.jsonl
10798
99+
attest-release-sources:
100+
name: Attest Release Sources
101+
runs-on: ubuntu-24.04
102+
if: github.event_name != 'pull_request'
103+
needs:
104+
- inputs
105+
- release-sources
106+
permissions:
107+
id-token: write
108+
attestations: write
109+
steps:
110+
- name: Checkout Release Scripts
111+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
112+
with:
113+
sparse-checkout: |
114+
.github/workflows/upload-release-artifact
115+
llvm/utils/release/github-upload-release.py
116+
llvm/utils/git/requirements.txt
117+
sparse-checkout-cone-mode: false
108118

119+
- name: Upload Artifacts
120+
uses: ./.github/workflows/upload-release-artifact
121+
with:
122+
artifact-id: ${{ needs.release-sources.outputs.artifact-id }}
123+
attestation-name: ${{ needs.inputs.outputs.ref }}-sources-attestation
124+
digest: ${{ needs.release-sources.outputs.digest }}
125+
upload: false

0 commit comments

Comments
 (0)