Skip to content

Commit c5a0e78

Browse files
authored
Merge branch 'main' into dev/dajusto/dont-asanize-catch-params-on-windows
2 parents bd511b5 + 3e5fc80 commit c5a0e78

File tree

484 files changed

+22267
-3024
lines changed

Some content is hidden

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

484 files changed

+22267
-3024
lines changed

.ci/generate_test_report_lib.py

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,23 @@ def _format_ninja_failures(ninja_failures: list[tuple[str, str]]) -> list[str]:
9898
)
9999
return output
100100

101+
def get_failures(junit_objects) -> dict[str, list[tuple[str, str]]]:
102+
failures = {}
103+
for results in junit_objects:
104+
for testsuite in results:
105+
for test in testsuite:
106+
if (
107+
not test.is_passed
108+
and test.result
109+
and isinstance(test.result[0], Failure)
110+
):
111+
if failures.get(testsuite.name) is None:
112+
failures[testsuite.name] = []
113+
failures[testsuite.name].append(
114+
(test.classname + "/" + test.name, test.result[0].text)
115+
)
116+
return failures
117+
101118

102119
# Set size_limit to limit the byte size of the report. The default is 1MB as this
103120
# is the most that can be put into an annotation. If the generated report exceeds
@@ -113,7 +130,7 @@ def generate_report(
113130
size_limit=1024 * 1024,
114131
list_failures=True,
115132
):
116-
failures = {}
133+
failures = get_failures(junit_objects)
117134
tests_run = 0
118135
tests_skipped = 0
119136
tests_failed = 0
@@ -124,18 +141,6 @@ def generate_report(
124141
tests_skipped += testsuite.skipped
125142
tests_failed += testsuite.failures
126143

127-
for test in testsuite:
128-
if (
129-
not test.is_passed
130-
and test.result
131-
and isinstance(test.result[0], Failure)
132-
):
133-
if failures.get(testsuite.name) is None:
134-
failures[testsuite.name] = []
135-
failures[testsuite.name].append(
136-
(test.classname + "/" + test.name, test.result[0].text)
137-
)
138-
139144
report = [f"# {title}", ""]
140145

141146
if tests_run == 0:
@@ -258,7 +263,7 @@ def plural(num_tests):
258263
return report
259264

260265

261-
def generate_report_from_files(title, return_code, build_log_files):
266+
def load_info_from_files(build_log_files):
262267
junit_files = [
263268
junit_file for junit_file in build_log_files if junit_file.endswith(".xml")
264269
]
@@ -271,6 +276,9 @@ def generate_report_from_files(title, return_code, build_log_files):
271276
ninja_logs.append(
272277
[log_line.strip() for log_line in ninja_log_file_handle.readlines()]
273278
)
274-
return generate_report(
275-
title, return_code, [JUnitXml.fromfile(p) for p in junit_files], ninja_logs
276-
)
279+
return [JUnitXml.fromfile(p) for p in junit_files], ninja_logs
280+
281+
282+
def generate_report_from_files(title, return_code, build_log_files):
283+
junit_objects, ninja_logs = load_info_from_files(build_log_files)
284+
return generate_report(title, return_code, junit_objects, ninja_logs)

.ci/metrics/metrics.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
GITHUB_JOB_TO_TRACK = {
4141
"github_llvm_premerge_checks": {
4242
"Build and Test Linux": "premerge_linux",
43+
"Build and Test Linux AArch64": "premerge_linux_aarch64",
4344
"Build and Test Windows": "premerge_windows",
4445
},
4546
"github_libcxx_premerge_checks": {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ RUN powershell -Command \
9090
RUN git config --system core.longpaths true & \
9191
git config --global core.autocrlf false
9292
93-
ARG RUNNER_VERSION=2.328.0
93+
ARG RUNNER_VERSION=2.329.0
9494
ENV RUNNER_VERSION=$RUNNER_VERSION
9595
9696
RUN powershell -Command \

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM docker.io/library/ubuntu:24.04 AS base
22
ENV LLVM_SYSROOT=/opt/llvm
33

44
FROM base AS stage1-toolchain
5-
ENV LLVM_VERSION=21.1.1
5+
ENV LLVM_VERSION=21.1.3
66

77
RUN apt-get update && \
88
apt-get install -y \
@@ -99,7 +99,7 @@ WORKDIR /home/gha
9999

100100
FROM ci-container AS ci-container-agent
101101

102-
ENV GITHUB_RUNNER_VERSION=2.328.0
102+
ENV GITHUB_RUNNER_VERSION=2.329.0
103103

104104
RUN mkdir actions-runner && \
105105
cd actions-runner && \

.github/workflows/pr-code-format.yml

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ on:
1212
jobs:
1313
code_formatter:
1414
runs-on: ubuntu-24.04
15+
container:
16+
image: 'ghcr.io/llvm/ci-ubuntu-24.04-format'
1517
timeout-minutes: 30
1618
concurrency:
1719
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
@@ -23,6 +25,14 @@ jobs:
2325
with:
2426
fetch-depth: 2
2527

28+
# We need to set the repo checkout as safe, otherwise tj-actions/changed-files
29+
# will fail due to the changed ownership inside the container.
30+
# TODO(boomanaiden154): We should probably fix this by having the default user
31+
# in the container have the same ID as the GHA user on the host.
32+
- name: Set Safe Directory
33+
run: |
34+
chown -R root $(pwd)
35+
2636
- name: Get changed files
2737
id: changed-files
2838
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46.0.5
@@ -39,24 +49,6 @@ jobs:
3949
echo "Formatting files:"
4050
echo "$CHANGED_FILES"
4151
42-
# The clang format version should always be upgraded to the first version
43-
# of a release cycle (x.1.0) or the last version of a release cycle, or
44-
# if there have been relevant clang-format backports.
45-
- name: Install clang-format
46-
uses: aminya/setup-cpp@a276e6e3d1db9160db5edc458e99a30d3b109949 # v1.7.1
47-
with:
48-
clangformat: 21.1.0
49-
50-
- name: Setup Python env
51-
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
52-
with:
53-
python-version: '3.13'
54-
cache: 'pip'
55-
cache-dependency-path: 'llvm/utils/git/requirements_formatting.txt'
56-
57-
- name: Install python dependencies
58-
run: pip install -r llvm/utils/git/requirements_formatting.txt
59-
6052
- name: Run code formatter
6153
env:
6254
GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }}

bolt/docs/BinaryAnalysis.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# BOLT-based binary analysis
22

33
As part of post-link-time optimizing, BOLT needs to perform a range of analyses
4-
on binaries such as recontructing control flow graphs, and more.
4+
on binaries such as reconstructing control flow graphs, and more.
55

66
The `llvm-bolt-binary-analysis` tool enables running requested binary analyses
77
on binaries, and generating reports. It does this by building on top of the

bolt/docs/CommandLineArgumentReference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@
375375

376376
- `--use-old-text`
377377

378-
Re-use space in old .text if possible (relocation mode)
378+
Reuse space in old .text if possible (relocation mode)
379379

380380
- `-v <uint>`
381381

bolt/docs/RuntimeLibrary.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ However, this approach quickly becomes awkward if we want to insert a lot of cod
1515
Currently, our runtime library is written in C++ and contains code that helps us instrument a binary.
1616

1717
### Limitations
18-
Our library is not written with regular C++ code as it is not linked against any other libraries (this means we cannnot rely on anything defined on libstdc++, glibc, libgcc etc), but is self sufficient. In runtime/CMakeLists.txt, we can see it is built with -ffreestanding, which requires the compiler to avoid using a runtime library by itself.
18+
Our library is not written with regular C++ code as it is not linked against any other libraries (this means we cannot rely on anything defined on libstdc++, glibc, libgcc etc), but is self sufficient. In runtime/CMakeLists.txt, we can see it is built with -ffreestanding, which requires the compiler to avoid using a runtime library by itself.
1919

2020
While this requires us to make our own syscalls, it does simplify our linker a lot, which is very limited and can only do basic function name resolving. However, this is a big improvement in comparison with programmatically generating the code in assembly language using MCInsts.
2121

bolt/docs/doxygen.cfg.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1070,7 +1070,7 @@ HTML_STYLESHEET =
10701070
# defined cascading style sheet that is included after the standard style sheets
10711071
# created by doxygen. Using this option one can overrule certain style aspects.
10721072
# This is preferred over using HTML_STYLESHEET since it does not replace the
1073-
# standard style sheet and is therefor more robust against future updates.
1073+
# standard style sheet and is therefore more robust against future updates.
10741074
# Doxygen will copy the style sheet file to the output directory. For an example
10751075
# see the documentation.
10761076
# This tag requires that the tag GENERATE_HTML is set to YES.

bolt/include/bolt/Core/BinaryFunction.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1336,7 +1336,7 @@ class BinaryFunction {
13361336
ColdCodeSectionName = Name.str();
13371337
}
13381338

1339-
/// Return true iif the function will halt execution on entry.
1339+
/// Return true if the function will halt execution on entry.
13401340
bool trapsOnEntry() const { return TrapsOnEntry; }
13411341

13421342
/// Make the function always trap on entry. Other than the trap instruction,

0 commit comments

Comments
 (0)