Skip to content

Commit a987a31

Browse files
Merge branch 'main' into llvm-extract-bundle-entry
2 parents ed63bd5 + 89206de commit a987a31

File tree

6,511 files changed

+407902
-313198
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,511 files changed

+407902
-313198
lines changed

.ci/metrics/metrics.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,13 @@ def github_get_metrics(
370370
started_at = job.started_at
371371
completed_at = job.completed_at
372372

373+
if completed_at is None:
374+
logging.info(
375+
f"Workflow {task.id} is marked completed but has a job without a "
376+
"completion timestamp."
377+
)
378+
continue
379+
373380
# GitHub API can return results where the started_at is slightly
374381
# later then the created_at (or completed earlier than started).
375382
# This would cause a -23h59mn delta, which will show up as +24h

.ci/monolithic-linux.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,13 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
6464

6565
start-group "ninja"
6666

67-
# Targets are not escaped as they are passed as separate arguments.
68-
ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log
69-
cp ${BUILD_DIR}/.ninja_log ninja.ninja_log
67+
if [[ -n "${targets}" ]]; then
68+
# Targets are not escaped as they are passed as separate arguments.
69+
ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log
70+
cp ${BUILD_DIR}/.ninja_log ninja.ninja_log
71+
fi
7072

71-
if [[ "${runtime_targets}" != "" ]]; then
73+
if [[ -n "${runtime_targets}" ]]; then
7274
start-group "ninja Runtimes"
7375

7476
ninja -C "${BUILD_DIR}" ${runtime_targets} |& tee ninja_runtimes.log
@@ -77,7 +79,7 @@ fi
7779

7880
# Compiling runtimes with just-built Clang and running their tests
7981
# as an additional testing for Clang.
80-
if [[ "${runtime_targets_needs_reconfig}" != "" ]]; then
82+
if [[ -n "${runtime_targets_needs_reconfig}" ]]; then
8183
start-group "CMake Runtimes C++26"
8284

8385
cmake \

.ci/monolithic-windows.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,13 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
5151

5252
start-group "ninja"
5353

54-
# Targets are not escaped as they are passed as separate arguments.
55-
ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log
56-
cp ${BUILD_DIR}/.ninja_log ninja.ninja_log
54+
if [[ -n "${targets}" ]]; then
55+
# Targets are not escaped as they are passed as separate arguments.
56+
ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log
57+
cp ${BUILD_DIR}/.ninja_log ninja.ninja_log
58+
fi
5759

58-
if [[ "${runtime_targets}" != "" ]]; then
60+
if [[ -n "${runtimes_targets}" ]]; then
5961
start-group "ninja runtimes"
6062

6163
ninja -C "${BUILD_DIR}" -k 0 ${runtimes_targets} |& tee ninja_runtimes.log

.ci/premerge_advisor_explain.py

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ def get_comment(
3939
) -> dict[str, str]:
4040
repo = github.Github(github_token).get_repo("llvm/llvm-project")
4141
pr = repo.get_issue(pr_number).as_pull_request()
42+
body = COMMENT_TAG.format(platform=platform.system()) + "\n" + body
4243
comment = {"body": body}
4344
comment_id = get_comment_id(platform.system(), pr)
4445
if comment_id:
@@ -78,16 +79,6 @@ def main(
7879
pr_number: The number of the PR associated with this run.
7980
return_code: The numerical return code of ninja/CMake.
8081
"""
81-
if return_code == 0:
82-
with open("comment", "w") as comment_file_handle:
83-
comment = get_comment(
84-
github_token,
85-
pr_number,
86-
":white_check_mark: With the latest revision this PR passed "
87-
"the premerge checks.",
88-
)
89-
if "id" in comment:
90-
json.dump([comment], comment_file_handle)
9182
junit_objects, ninja_logs = generate_test_report_lib.load_info_from_files(
9283
build_log_files
9384
)
@@ -104,34 +95,42 @@ def main(
10495
explanation_request["failures"].append(
10596
{"name": name, "message": failure_messsage}
10697
)
107-
else:
98+
elif return_code != 0:
10899
ninja_failures = generate_test_report_lib.find_failure_in_ninja_logs(ninja_logs)
109100
for name, failure_message in ninja_failures:
110101
explanation_request["failures"].append(
111102
{"name": name, "message": failure_message}
112103
)
113-
advisor_response = requests.get(
114-
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+
)
115127
)
116-
if advisor_response.status_code == 200:
117-
print(advisor_response.json())
118-
comments = [
119-
get_comment(
120-
github_token,
121-
pr_number,
122-
generate_test_report_lib.generate_report(
123-
generate_test_report_lib.compute_platform_title(),
124-
return_code,
125-
junit_objects,
126-
ninja_logs,
127-
failure_explanations_list=advisor_response.json(),
128-
),
129-
)
130-
]
131-
with open("comment", "w") as comment_file_handle:
132-
json.dump(comments, comment_file_handle)
133-
else:
134-
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+
with open("comments", "w") as comment_file_handle:
133+
json.dump(comments, comment_file_handle)
135134

136135

137136
if __name__ == "__main__":
@@ -147,7 +146,7 @@ def main(
147146

148147
# Skip looking for results on AArch64 for now because the premerge advisor
149148
# service is not available on AWS currently.
150-
if platform.machine() == "arm64":
149+
if platform.machine() == "arm64" or platform.machine() == "aarch64":
151150
sys.exit(0)
152151

153152
main(

.ci/premerge_advisor_upload.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def main(commit_sha, workflow_run_number, build_log_files):
5959

6060
# Skip uploading results on AArch64 for now because the premerge advisor
6161
# service is not available on AWS currently.
62-
if platform.machine() == "arm64":
62+
if platform.machine() == "arm64" or platform.machine() == "aarch64":
6363
sys.exit(0)
6464

6565
main(args.commit_sha, args.workflow_run_number, args.build_log_files)

.ci/utils.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function at-exit {
3333
# If building fails there will be no results files.
3434
shopt -s nullglob
3535

36-
if [[ "$GITHUB_ACTIONS" != "" ]]; then
36+
if [[ -n "$GITHUB_ACTIONS" ]]; then
3737
python "${MONOREPO_ROOT}"/.ci/generate_test_report_github.py \
3838
$retcode "${BUILD_DIR}"/test-results.*.xml "${MONOREPO_ROOT}"/ninja*.log \
3939
>> $GITHUB_STEP_SUMMARY
@@ -44,7 +44,7 @@ function at-exit {
4444
fi
4545

4646
if [[ "$retcode" != "0" ]]; then
47-
if [[ "$GITHUB_ACTIONS" != "" ]]; then
47+
if [[ -n "$GITHUB_ACTIONS" ]]; then
4848
python "${MONOREPO_ROOT}"/.ci/premerge_advisor_upload.py \
4949
$(git rev-parse HEAD~1) $GITHUB_RUN_NUMBER \
5050
"${BUILD_DIR}"/test-results.*.xml "${MONOREPO_ROOT}"/ninja*.log
@@ -59,10 +59,10 @@ trap at-exit EXIT
5959

6060
function start-group {
6161
groupname=$1
62-
if [[ "$GITHUB_ACTIONS" != "" ]]; then
62+
if [[ -n "$GITHUB_ACTIONS" ]]; then
6363
echo "::endgroup"
6464
echo "::group::$groupname"
65-
elif [[ "$POSTCOMMIT_CI" != "" ]]; then
65+
elif [[ -n "$POSTCOMMIT_CI" ]]; then
6666
echo "@@@$STEP@@@"
6767
else
6868
echo "Starting $groupname"
@@ -73,6 +73,6 @@ export PIP_BREAK_SYSTEM_PACKAGES=1
7373
pip install -q -r "${MONOREPO_ROOT}"/.ci/all_requirements.txt
7474

7575
# The ARM64 builders run on AWS and don't have access to the GCS cache.
76-
if [[ "$GITHUB_ACTIONS" != "" ]] && [[ "$RUNNER_ARCH" != "ARM64" ]]; then
76+
if [[ -n "$GITHUB_ACTIONS" ]] && [[ "$RUNNER_ARCH" != "ARM64" ]]; then
7777
python .ci/cache_lit_timing_files.py download
7878
fi

.git-blame-ignore-revs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,3 +143,12 @@ a3a007ad5fa20abc90ead4e1030b481bf109b4cf
143143
b7e332d3f59f567b1999fbcc660d7837cba8e406
144144
6056f942abe83b05406df8b04e95ec37a3d160b5
145145
906295b8a31c8dac5aa845864c0bca9f02f86184
146+
147+
# [clang-tidy][NFC] Remove trailing whitespaces in documentation
148+
8f2b167de4a1268160c06512d08863a9e8f43290
149+
150+
# [clang-tidy][NFC] Enforce 80 characters limit in docs
151+
5edf70c41c5d69f3751b4199f642f4585599dade
152+
c73870dbe89a8219130e21a0b3f13df76d299352
153+
74c40293c309dbd142bf1f0ebfbfde6be8d30655
154+
a7ba8dcad76476478100c228a31d9c48391b1e03

.github/CODEOWNERS

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,23 @@
6060
/mlir/lib/Conversion/*ToROCDL @krzysz00 @kuhar
6161
/mlir/include/mlir/Dialect/LLVMIR/ROCDL* @krzysz00 @kuhar
6262

63+
# Arith dialect in MLIR.
64+
/mlir/include/mlir/Dialect/Arith @kuhar
65+
/mlir/lib/Dialect/Arith @kuhar
66+
/mlir/lib/Conversion/ArithTo* @kuhar
67+
68+
# XeGPU and XeVM dialects in MLIR.
69+
/mlir/include/mlir/Dialect/XeGPU @charithaintc @Jianhui-Li
70+
/mlir/lib/Dialect/XeGPU @charithaintc @Jianhui-Li
71+
/mlir/lib/Conversion/*XeGPU* @charithaintc @Jianhui-Li
72+
/mlir/include/mlir/Dialect/XeGPU/Transforms @charithaintc @Jianhui-Li
73+
/mlir/lib/Dialect/XeGPU/Transforms @charithaintc @Jianhui-Li
74+
/mlir/include/mlir/Dialect/XeGPU/TransformOps @charithaintc @Jianhui-Li @tkarna
75+
/mlir/lib/Dialect/XeGPU/TransformOps @charithaintc @Jianhui-Li @tkarna
76+
/mlir/include/mlir/Dialect/LLVMIR/XeVM* @silee2
77+
/mlir/lib/Dialect/LLVMIR/IR/XeVM @silee2
78+
/mlir/lib/Conversion/*XeVM* @silee2
79+
6380
# Bufferization Dialect in MLIR.
6481
/mlir/include/mlir/Dialect/Bufferization @matthias-springer
6582
/mlir/lib/Dialect/Bufferization @matthias-springer

0 commit comments

Comments
 (0)