Zhaoxuan Jiang
fd609e5d33
[lld] Glob-based BP compression sort groups ( #185661 )
...
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.
2026-04-01 17:53:08 -07:00
..
2024-11-27 11:23:49 -05:00
2025-11-01 13:44:21 -04:00
2024-08-31 16:37:49 +02:00
2023-07-19 14:19:15 -04:00
2024-11-27 11:23:49 -05:00
2025-04-10 14:33:56 -04:00
2025-04-10 14:33:56 -04:00
2026-02-02 13:14:07 -08:00
2024-01-29 23:29:57 -08:00
2024-01-23 07:31:34 -08:00
2024-01-18 10:46:30 -08:00
2025-04-04 16:37:35 -07:00
2024-06-13 15:16:55 +02:00
2025-12-17 13:17:39 +01:00
2026-03-09 18:01:05 -07:00
2025-05-01 10:29:07 -07:00
2026-04-01 17:53:08 -07:00
2024-12-09 22:50:21 -08:00
2025-10-31 09:02:05 -07:00
2025-01-23 15:48:11 -08:00
2025-09-03 09:30:31 -07:00
2025-09-03 09:30:31 -07:00
2025-09-03 09:12:12 -07:00
2024-06-13 15:16:55 +02:00
2023-06-07 10:03:50 -04:00
2023-06-07 10:03:50 -04:00
2023-06-07 10:03:50 -04:00
2024-06-13 15:16:55 +02:00
2026-04-01 17:53:08 -07:00
2023-05-31 17:53:46 -07:00
2023-05-31 17:53:46 -07:00
2025-10-03 16:38:10 +00:00
2025-10-03 16:38:10 +00:00
2025-09-22 11:53:34 -07:00
2024-02-16 07:46:58 -05:00
2024-07-17 00:41:36 +02:00
2024-07-22 22:03:32 +02:00
2023-06-07 10:03:50 -04:00
2023-06-07 10:03:50 -04:00
2025-02-18 08:32:54 -08:00
2024-07-25 15:12:39 -07:00
2023-12-19 11:42:26 -08:00
2023-06-06 12:53:03 -04:00
2023-08-09 09:54:32 -04:00
2025-09-03 09:12:12 -07:00
2025-11-11 14:27:03 -08:00
2025-11-11 14:27:03 -08:00
2023-05-20 13:06:03 -07:00
2023-06-07 10:03:50 -04:00
2026-03-26 16:30:23 -07:00
2026-03-26 16:30:23 -07:00
2025-07-05 09:36:13 +03:00
2025-07-05 09:36:13 +03:00
2024-07-17 00:41:36 +02:00
2023-06-07 10:03:50 -04:00
2023-08-04 13:49:07 -04:00
2025-09-03 09:12:12 -07:00
2024-07-06 15:41:40 +02:00
2024-05-15 15:11:14 -07:00
2025-03-28 12:05:50 -07:00
2024-02-27 15:29:34 -05:00
2023-08-13 13:39:04 -07:00
2023-08-13 13:39:04 -07:00
2023-08-13 13:39:04 -07:00
2024-01-23 09:08:43 -05:00
2025-09-03 09:12:12 -07:00
2024-07-18 10:49:19 +02:00
2023-05-23 13:50:14 -07:00
2023-05-25 11:17:05 +02:00
2025-07-16 21:29:48 +02:00
2023-04-20 17:24:06 -04:00
2025-09-03 09:41:19 -07:00
2024-07-24 18:24:39 +01:00
2025-12-16 07:30:53 -07:00
2024-06-28 16:47:59 -07:00
2023-06-02 15:34:14 -07:00
2025-10-22 19:14:37 +08:00
2023-12-18 09:46:58 -08:00
2024-08-05 22:50:23 -07:00
2026-02-23 21:30:41 +00:00
2024-11-22 15:01:59 -08:00
2023-05-31 14:14:19 -07:00
2024-08-16 11:00:11 -07:00
2024-08-16 11:00:11 -07:00
2025-02-10 10:35:44 -08:00
2025-09-03 18:06:18 +00:00
2024-07-08 14:10:50 -07:00
2024-08-16 11:00:11 -07:00
2024-05-15 15:11:14 -07:00
2024-08-14 20:42:07 +02:00
2024-08-16 11:00:11 -07:00
2024-07-22 22:03:32 +02:00
2025-07-21 09:08:33 +03:00
2025-10-03 16:38:10 +00:00
2026-01-30 14:27:13 -08:00
2025-06-03 10:55:09 -07:00
2024-01-04 16:13:57 -08:00
2026-02-13 12:45:04 -08:00
2025-10-17 08:35:23 +00:00
2025-11-26 15:14:15 -08:00
2025-04-28 18:51:12 -04:00
2025-09-03 09:12:12 -07:00
2025-09-03 09:12:12 -07:00
2023-06-21 16:16:46 -07:00
2024-07-19 20:12:14 -07:00
2024-07-18 16:26:32 +02:00
2025-09-03 09:12:12 -07:00
2024-07-18 10:49:19 +02:00
2024-07-23 11:02:55 -04:00
2024-09-05 12:29:46 -04:00
2025-12-04 23:42:53 +00:00
2024-03-28 09:41:08 -07:00
2023-06-06 11:13:31 -07:00
2024-05-27 19:07:39 -07:00
2025-09-03 09:21:55 -07:00
2025-03-13 08:28:16 -07:00
2024-05-31 18:17:51 -07:00
2025-03-21 09:31:46 -04:00
2023-08-22 12:03:17 -07:00
2023-08-22 12:03:17 -07:00
2025-09-03 09:12:12 -07:00
2024-10-07 08:16:46 -07:00
2024-08-27 13:53:25 -04:00
2024-08-27 13:53:25 -04:00
2024-03-20 10:59:45 +01:00
2023-07-19 16:39:31 -07:00
2025-03-19 16:05:01 -07:00
2025-11-21 20:03:40 -05:00
2023-09-27 19:55:16 -04:00
2024-02-01 14:19:11 -08:00
2025-11-25 13:54:46 -05:00