Skip to content

Commit 8889e79

Browse files
Merge branch 'main' into ssaf
2 parents e8d8805 + c595282 commit 8889e79

File tree

6,478 files changed

+373531
-353925
lines changed

Some content is hidden

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

6,478 files changed

+373531
-353925
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: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,6 @@ def main(
7979
pr_number: The number of the PR associated with this run.
8080
return_code: The numerical return code of ninja/CMake.
8181
"""
82-
if return_code == 0:
83-
with open("comment", "w") as comment_file_handle:
84-
comment = get_comment(
85-
github_token,
86-
pr_number,
87-
":white_check_mark: With the latest revision this PR passed "
88-
"the premerge checks.",
89-
)
90-
if "id" in comment:
91-
json.dump([comment], comment_file_handle)
9282
junit_objects, ninja_logs = generate_test_report_lib.load_info_from_files(
9383
build_log_files
9484
)
@@ -105,34 +95,44 @@ def main(
10595
explanation_request["failures"].append(
10696
{"name": name, "message": failure_messsage}
10797
)
108-
else:
98+
elif return_code != 0:
10999
ninja_failures = generate_test_report_lib.find_failure_in_ninja_logs(ninja_logs)
110100
for name, failure_message in ninja_failures:
111101
explanation_request["failures"].append(
112102
{"name": name, "message": failure_message}
113103
)
114-
advisor_response = requests.get(
115-
PREMERGE_ADVISOR_URL, json=explanation_request, timeout=5
104+
comments = []
105+
advisor_explanations = []
106+
if return_code != 0:
107+
advisor_response = requests.get(
108+
PREMERGE_ADVISOR_URL, json=explanation_request, timeout=5
109+
)
110+
if advisor_response.status_code == 200:
111+
print(advisor_response.json())
112+
advisor_explanations = advisor_response.json()
113+
else:
114+
print(advisor_response.reason)
115+
comments.append(
116+
get_comment(
117+
github_token,
118+
pr_number,
119+
generate_test_report_lib.generate_report(
120+
generate_test_report_lib.compute_platform_title(),
121+
return_code,
122+
junit_objects,
123+
ninja_logs,
124+
failure_explanations_list=advisor_explanations,
125+
),
126+
)
116127
)
117-
if advisor_response.status_code == 200:
118-
print(advisor_response.json())
119-
comments = [
120-
get_comment(
121-
github_token,
122-
pr_number,
123-
generate_test_report_lib.generate_report(
124-
generate_test_report_lib.compute_platform_title(),
125-
return_code,
126-
junit_objects,
127-
ninja_logs,
128-
failure_explanations_list=advisor_response.json(),
129-
),
130-
)
131-
]
132-
with open("comments", "w") as comment_file_handle:
133-
json.dump(comments, comment_file_handle)
134-
else:
135-
print(advisor_response.reason)
128+
if return_code == 0 and "id" not in comments[0]:
129+
# If the job succeeds and there is not an existing comment, we
130+
# should not write one to reduce noise.
131+
comments = []
132+
comments_file_name = f"comments-{platform.system()}-{platform.machine()}"
133+
with open(comments_file_name, "w") as comment_file_handle:
134+
json.dump(comments, comment_file_handle)
135+
print(f"Wrote comments to {comments_file_name}")
136136

137137

138138
if __name__ == "__main__":

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
clang/bindings/python/.git_archival.txt export-subst
2+
13
libcxx/src/**/*.cpp merge=libcxx-reformat
24
libcxx/include/**/*.h merge=libcxx-reformat
35

.github/CODEOWNERS

Lines changed: 17 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
@@ -60,12 +63,19 @@
6063
/mlir/lib/Conversion/*ToROCDL @krzysz00 @kuhar
6164
/mlir/include/mlir/Dialect/LLVMIR/ROCDL* @krzysz00 @kuhar
6265

66+
# Arith dialect in MLIR.
67+
/mlir/include/mlir/Dialect/Arith @kuhar
68+
/mlir/lib/Dialect/Arith @kuhar
69+
/mlir/lib/Conversion/ArithTo* @kuhar
70+
6371
# XeGPU and XeVM dialects in MLIR.
6472
/mlir/include/mlir/Dialect/XeGPU @charithaintc @Jianhui-Li
6573
/mlir/lib/Dialect/XeGPU @charithaintc @Jianhui-Li
6674
/mlir/lib/Conversion/*XeGPU* @charithaintc @Jianhui-Li
6775
/mlir/include/mlir/Dialect/XeGPU/Transforms @charithaintc @Jianhui-Li
6876
/mlir/lib/Dialect/XeGPU/Transforms @charithaintc @Jianhui-Li
77+
/mlir/include/mlir/Dialect/XeGPU/TransformOps @charithaintc @Jianhui-Li @tkarna
78+
/mlir/lib/Dialect/XeGPU/TransformOps @charithaintc @Jianhui-Li @tkarna
6979
/mlir/include/mlir/Dialect/LLVMIR/XeVM* @silee2
7080
/mlir/lib/Dialect/LLVMIR/IR/XeVM @silee2
7181
/mlir/lib/Conversion/*XeVM* @silee2
@@ -86,9 +96,9 @@
8696
/mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp @MaheshRavishankar @nicolasvasilache
8797
/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp @dcaballe @MaheshRavishankar @nicolasvasilache
8898
/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp @MaheshRavishankar @nicolasvasilache
89-
/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp @hanhanW @nicolasvasilache
90-
/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp @dcaballe @hanhanW @nicolasvasilache
91-
/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
92102

93103
# MemRef Dialect in MLIR.
94104
/mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
@@ -105,16 +115,16 @@
105115
/mlir/include/mlir/Dialect/Vector @banach-space @dcaballe @nicolasvasilache @Groverkss
106116
/mlir/include/mlir/Dialect/Vector/IR @kuhar
107117
/mlir/lib/Dialect/Vector @banach-space @dcaballe @nicolasvasilache @Groverkss
108-
/mlir/lib/Dialect/Vector/Transforms/* @banach-space @dcaballe @hanhanW @nicolasvasilache
118+
/mlir/lib/Dialect/Vector/Transforms/* @banach-space @dcaballe @nicolasvasilache
109119
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @banach-space @dcaballe @MaheshRavishankar @nicolasvasilache
110-
/mlir/**/*EmulateNarrowType* @dcaballe @hanhanW
120+
/mlir/**/*EmulateNarrowType* @dcaballe
111121

112122
# Presburger library in MLIR
113123
/mlir/**/*Presburger* @Groverkss @Superty
114124

115125
# Tensor Dialect in MLIR.
116-
/mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp @hanhanW @nicolasvasilache
117-
/mlir/lib/Dialect/Tensor/Transforms/* @hanhanW @nicolasvasilache
126+
/mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp @nicolasvasilache
127+
/mlir/lib/Dialect/Tensor/Transforms/* @nicolasvasilache
118128

119129
# Transform Dialect in MLIR.
120130
/mlir/include/mlir/Dialect/Transform/* @ftynse @nicolasvasilache @rolfmorel

.github/workflows/bazel-checks.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
if: github.repository == 'llvm/llvm-project'
2323
steps:
2424
- name: Fetch LLVM sources
25-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
25+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2626
- name: Setup Buildifier
2727
run: |
2828
sudo curl -L https://github.com/bazelbuild/buildtools/releases/download/v8.2.1/buildifier-linux-amd64 -o /usr/bin/buildifier --fail
@@ -41,7 +41,7 @@ jobs:
4141
if: github.repository == 'llvm/llvm-project'
4242
steps:
4343
- name: Fetch LLVM sources
44-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
44+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
4545
# TODO(boomanaiden154): We should use a purpose built container for this. Move
4646
# over when we have fixed the issues with using custom containers with Github
4747
# ARC in GKE.

.github/workflows/build-ci-container-tooling.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
target: abi-tests
4242
steps:
4343
- name: Checkout LLVM
44-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
44+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
4545
with:
4646
sparse-checkout: |
4747
.github/workflows/containers/github-action-ci-tooling/
@@ -67,7 +67,7 @@ jobs:
6767
runs-on: ubuntu-24.04
6868
steps:
6969
- name: Checkout LLVM
70-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
70+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
7171
with:
7272
sparse-checkout: |
7373
.github/actions/push-container

.github/workflows/build-ci-container-windows.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
container-filename: ${{ steps.vars.outputs.container-filename }}
2626
steps:
2727
- name: Checkout LLVM
28-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
28+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2929
with:
3030
sparse-checkout: .github/workflows/containers/github-action-ci-windows
3131
- name: Write Variables

.github/workflows/build-ci-container.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
- cd $HOME && printf '#include <iostream>\nint main(int argc, char **argv) { std::cout << "Hello\\n"; }' | clang++ -x c++ - && ./a.out | grep Hello
3737
steps:
3838
- name: Checkout LLVM
39-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
39+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
4040
with:
4141
sparse-checkout: |
4242
.github/workflows/containers/github-action-ci/
@@ -62,7 +62,7 @@ jobs:
6262
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6363
steps:
6464
- name: Checkout LLVM
65-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
65+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
6666
with:
6767
sparse-checkout: |
6868
.github/actions/push-container

.github/workflows/build-metrics-container.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
runs-on: ubuntu-24.04
2424
steps:
2525
- name: Checkout LLVM
26-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
26+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2727
with:
2828
sparse-checkout: |
2929
.ci/metrics/
@@ -46,7 +46,7 @@ jobs:
4646
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4747
steps:
4848
- name: Checkout LLVM
49-
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
49+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
5050
with:
5151
sparse-checkout: |
5252
.github/actions/push-container

0 commit comments

Comments
 (0)