Add --bp-compression-sort-section=<glob>[=<layout_priority>[=<match_priority>]] to let users split input sections into multiple compression groups, run balanced partitioning independently per group, and leave out sections that are poor candidates for BP. This replaces the old coarse --bp-compression-sort with a more explicit, user-controlled one. In ELF, the glob matches input section names (.text.unlikely.cold1). In Mach-O, it matches the concatenated segment+section name (__TEXT__text). layout_priority controls group placement in the final layout. match_priority resolves conflicts when multiple globs match the same section: explicit priority beats positional matching, and among positional specs the last match wins. A CRTP hook getCompressionSubgroupKey() allows backends to further subdivide glob groups into independent BP instances. This allows Mach-O backend to separate cold functions via N_COLD_FUNC in the future. The deprecated --bp-compression-sort option keeps its existing function/data behavior by assigning sections to fixed legacy groups.
64 lines
2.0 KiB
ReStructuredText
64 lines
2.0 KiB
ReStructuredText
.. If you want to modify sections/contents permanently, you should modify both
|
|
ReleaseNotes.rst and ReleaseNotesTemplate.txt.
|
|
|
|
===========================
|
|
lld |release| Release Notes
|
|
===========================
|
|
|
|
.. contents::
|
|
:local:
|
|
|
|
.. only:: PreRelease
|
|
|
|
.. warning::
|
|
These are in-progress notes for the upcoming LLVM |release| release.
|
|
Release notes for previous releases can be found on
|
|
`the Download Page <https://releases.llvm.org/download.html>`_.
|
|
|
|
Introduction
|
|
============
|
|
|
|
This document contains the release notes for the lld linker, release |release|.
|
|
Here we describe the status of lld, including major improvements
|
|
from the previous release. All lld releases may be downloaded
|
|
from the `LLVM releases web site <https://llvm.org/releases/>`_.
|
|
|
|
Non-comprehensive list of changes in this release
|
|
=================================================
|
|
|
|
ELF Improvements
|
|
----------------
|
|
|
|
* Added ``--bp-compression-sort-section=<glob>[=<layout_priority>[=<match_priority>]]``,
|
|
replacing the old coarse ``--bp-compression-sort`` modes with a way to split
|
|
input sections into multiple compression groups, run balanced partitioning
|
|
independently per group, and leave out sections that are poor candidates for
|
|
BP.
|
|
``layout_priority`` controls group placement order (lower value = placed
|
|
first, default 0). ``match_priority`` resolves conflicts when multiple globs
|
|
match the same section (lower value = higher priority; explicit priority
|
|
beats positional last-match-wins; default: positional). In ELF, the glob
|
|
matches input section names (e.g. ``.text.unlikely.code1``).
|
|
|
|
Breaking changes
|
|
----------------
|
|
|
|
COFF Improvements
|
|
-----------------
|
|
|
|
MinGW Improvements
|
|
------------------
|
|
|
|
MachO Improvements
|
|
------------------
|
|
|
|
* ``--bp-compression-sort-section`` now accepts optional layout and match
|
|
priorities (same syntax as ELF). In Mach-O, the glob matches the
|
|
concatenated segment+section name (e.g. ``__TEXT__text``).
|
|
|
|
WebAssembly Improvements
|
|
------------------------
|
|
|
|
Fixes
|
|
#####
|