Skip to content

Commit 70300a4

Browse files
committed
Merge branch 'main' into ptrauth-constants-in-code
2 parents 64715f4 + 28a3fbb commit 70300a4

File tree

3,440 files changed

+186733
-92201
lines changed

Some content is hidden

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

3,440 files changed

+186733
-92201
lines changed

.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: 9 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
@@ -141,3 +141,8 @@ clang/test/AST/Interp/ @tbaederr
141141

142142
# ExtractAPI
143143
/clang/**/ExtractAPI @daniel-grumberg
144+
145+
# DWARFLinker, dwarfutil, dsymutil
146+
/llvm/**/DWARFLinker/ @JDevlieghere
147+
/llvm/**/dsymutil/ @JDevlieghere
148+
/llvm/**/llvm-dwarfutil/ @JDevlieghere

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
- name: Install clang-format
5656
uses: aminya/setup-cpp@v1
5757
with:
58-
clangformat: 18.1.1
58+
clangformat: 18.1.7
5959

6060
- name: Setup Python env
6161
uses: actions/setup-python@v5

.github/workflows/release-sources.yml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Release Sources
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
workflow_dispatch:
8+
inputs:
9+
release-version:
10+
description: Release Version
11+
required: true
12+
type: string
13+
workflow_call:
14+
inputs:
15+
release-version:
16+
description: Release Version
17+
required: true
18+
type: string
19+
# Run on pull_requests for testing purposes.
20+
pull_request:
21+
paths:
22+
- '.github/workflows/release-sources.yml'
23+
types:
24+
- opened
25+
- synchronize
26+
- reopened
27+
# When a PR is closed, we still start this workflow, but then skip
28+
# all the jobs, which makes it effectively a no-op. The reason to
29+
# do this is that it allows us to take advantage of concurrency groups
30+
# to cancel in progress CI jobs whenever the PR is closed.
31+
- closed
32+
33+
concurrency:
34+
group: ${{ github.workflow }}-${{ inputs.release-version || github.event.pull_request.number }}
35+
cancel-in-progress: True
36+
37+
jobs:
38+
inputs:
39+
name: Collect Job Inputs
40+
if: >-
41+
github.repository_owner == 'llvm' &&
42+
github.event.action != 'closed'
43+
outputs:
44+
ref: ${{ steps.inputs.outputs.ref }}
45+
export-args: ${{ steps.inputs.outputs.export-args }}
46+
runs-on: ubuntu-latest
47+
steps:
48+
- id: inputs
49+
run: |
50+
ref=${{ inputs.release-version || github.sha }}
51+
if [ -n "${{ inputs.release-version }}" ]; then
52+
export_args="-release ${{ inputs.release-version }} -final"
53+
else
54+
export_args="-git-ref ${{ github.sha }}"
55+
fi
56+
echo "ref=$ref" >> $GITHUB_OUTPUT
57+
echo "export-args=$export_args" >> $GITHUB_OUTPUT
58+
59+
release-sources:
60+
name: Package Release Sources
61+
if: github.repository_owner == 'llvm'
62+
runs-on: ubuntu-latest
63+
needs:
64+
- inputs
65+
permissions:
66+
id-token: write
67+
attestations: write
68+
steps:
69+
- name: Checkout LLVM
70+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
71+
with:
72+
ref: ${{ needs.inputs.outputs.ref }}
73+
fetch-tags: true
74+
- name: Install Dependencies
75+
run: |
76+
pip install --require-hashes -r ./llvm/utils/git/requirements.txt
77+
78+
- name: Check Permissions
79+
if: github.event_name != 'pull_request'
80+
env:
81+
GITHUB_TOKEN: ${{ github.token }}
82+
USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
83+
run: |
84+
./llvm/utils/release/./github-upload-release.py --token "$GITHUB_TOKEN" --user ${{ github.actor }} --user-token "$USER_TOKEN" check-permissions
85+
- name: Create Tarballs
86+
run: |
87+
./llvm/utils/release/export.sh ${{ needs.inputs.outputs.export-args }}
88+
- name: Attest Build Provenance
89+
if: github.event_name != 'pull_request'
90+
id: provenance
91+
uses: actions/attest-build-provenance@897ed5eab6ed058a474202017ada7f40bfa52940 # v1.0.0
92+
with:
93+
subject-path: "*.xz"
94+
- if: github.event_name != 'pull_request'
95+
run: |
96+
mv ${{ steps.provenance.outputs.bundle-path }} .
97+
- name: Create Tarball Artifacts
98+
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 #v4.3.3
99+
with:
100+
path: |
101+
*.xz
102+
attestation.jsonl
103+
104+

.github/workflows/release-tasks.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,14 @@ jobs:
8585
with:
8686
release-version: ${{ needs.validate-tag.outputs.release-version }}
8787
upload: true
88+
89+
release-sources:
90+
name: Package Release Sources
91+
permissions:
92+
id-token: write
93+
attestations: write
94+
needs:
95+
- validate-tag
96+
uses: ./.github/workflows/release-sources.yml
97+
with:
98+
release-version: ${{ needs.validate-tag.outputs.release-version }}

bolt/docs/CommandLineArgumentReference.md

Lines changed: 77 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,14 @@
5656

5757
Allow processing of stripped binaries
5858

59+
- `--alt-inst-feature-size=<uint>`
60+
61+
Size of feature field in .altinstructions
62+
63+
- `--alt-inst-has-padlen`
64+
65+
Specify that .altinstructions has padlen field
66+
5967
- `--asm-dump[=<dump folder>]`
6068

6169
Dump function into assembly
@@ -78,6 +86,16 @@
7886
in the input is decoded and re-encoded. If the resulting bytes do not match
7987
the input, a warning message is printed.
8088

89+
- `--comp-dir-override=<string>`
90+
91+
Overrides DW_AT_comp_dir, and provides an alterantive base location, which is
92+
used with DW_AT_dwo_name to construct a path to *.dwo files.
93+
94+
- `--create-debug-names-section`
95+
96+
Creates .debug_names section, if the input binary doesn't have it already, for
97+
DWARF5 CU/TUs.
98+
8199
- `--cu-processing-batch-size=<uint>`
82100

83101
Specifies the size of batches for processing CUs. Higher number has better
@@ -93,7 +111,7 @@
93111

94112
- `--debug-skeleton-cu`
95113

96-
Prints out offsetrs for abbrev and debu_info of Skeleton CUs that get patched.
114+
Prints out offsets for abbrev and debug_info of Skeleton CUs that get patched.
97115

98116
- `--deterministic-debuginfo`
99117

@@ -104,6 +122,10 @@
104122

105123
Add basic block instructions as tool tips on nodes
106124

125+
- `--dump-alt-instructions`
126+
127+
Dump Linux alternative instructions info
128+
107129
- `--dump-cg=<string>`
108130

109131
Dump callgraph to the given file
@@ -117,10 +139,34 @@
117139
Dump function CFGs to graphviz format after each stage;enable '-print-loops'
118140
for color-coded blocks
119141

142+
- `--dump-linux-exceptions`
143+
144+
Dump Linux kernel exception table
145+
120146
- `--dump-orc`
121147

122148
Dump raw ORC unwind information (sorted)
123149

150+
- `--dump-para-sites`
151+
152+
Dump Linux kernel paravitual patch sites
153+
154+
- `--dump-pci-fixups`
155+
156+
Dump Linux kernel PCI fixup table
157+
158+
- `--dump-smp-locks`
159+
160+
Dump Linux kernel SMP locks
161+
162+
- `--dump-static-calls`
163+
164+
Dump Linux kernel static calls
165+
166+
- `--dump-static-keys`
167+
168+
Dump Linux kernel static keys jump table
169+
124170
- `--dwarf-output-path=<string>`
125171

126172
Path to where .dwo files or dwp file will be written out to.
@@ -205,6 +251,14 @@
205251

206252
Skip processing of cold functions
207253

254+
- `--log-file=<string>`
255+
256+
Redirect journaling to a file instead of stdout/stderr
257+
258+
- `--long-jump-labels`
259+
260+
Always use long jumps/nops for Linux kernel static keys
261+
208262
- `--max-data-relocations=<uint>`
209263

210264
Maximum number of data relocations to process
@@ -274,6 +328,10 @@
274328

275329
Number of tasks to be created per thread
276330

331+
- `--terminal-trap`
332+
333+
Assume that execution stops at trap instruction
334+
277335
- `--thread-count=<uint>`
278336

279337
Number of threads
@@ -618,10 +676,6 @@
618676
threshold means fewer functions to process. E.g threshold of 90 means only top
619677
10 percent of functions with profile will be processed.
620678

621-
- `--mcf-use-rarcs`
622-
623-
In MCF, consider the possibility of cancelling flow to balance edges
624-
625679
- `--memcpy1-spec=<func1,func2:cs1:cs2,func3:cs1,...>`
626680

627681
List of functions with call sites for which to specialize memcpy() for size 1
@@ -710,7 +764,7 @@
710764
- `none`: do not reorder functions
711765
- `exec-count`: order by execution count
712766
- `hfsort`: use hfsort algorithm
713-
- `hfsort+`: use hfsort+ algorithm
767+
- `hfsort+`: use cache-directed sort
714768
- `cdsort`: use cache-directed sort
715769
- `pettis-hansen`: use Pettis-Hansen algorithm
716770
- `random`: reorder functions randomly
@@ -802,6 +856,11 @@
802856

803857
The maximum size of a function to consider for inference.
804858

859+
- `--stale-matching-min-matched-block=<uint>`
860+
861+
Percentage threshold of matched basic blocks at which stale profile inference
862+
is executed.
863+
805864
- `--stale-threshold=<uint>`
806865

807866
Maximum percentage of stale functions to tolerate (default: 100)
@@ -848,6 +907,10 @@
848907

849908
Only apply branch boundary alignment in hot code
850909

910+
- `--x86-strip-redundant-address-size`
911+
912+
Remove redundant Address-Size override prefix
913+
851914
### BOLT options in relocation mode:
852915

853916
- `--align-macro-fusion=<value>`
@@ -1034,6 +1097,10 @@
10341097

10351098
Print clusters
10361099

1100+
- `--print-estimate-edge-counts`
1101+
1102+
Print function after edge counts are set for no-LBR profile
1103+
10371104
- `--print-finalized`
10381105

10391106
Print function after CFG is finalized
@@ -1066,6 +1133,10 @@
10661133

10671134
Print functions after inlining optimization
10681135

1136+
- `--print-large-functions`
1137+
1138+
Print functions that could not be overwritten due to excessive size
1139+
10691140
- `--print-longjmp`
10701141

10711142
Print functions after longjmp pass

0 commit comments

Comments
 (0)