Ofek
fa456a81f3
Fix #7870 : use GCC pass-dump files to enumerate passes ( #8826 )
...
Following the discussion at #7870 : `-fdump-passes` reports passes
enabled dynamically (e.g. loop2_unroll via `#pragma GCC unroll`) as OFF,
so they were missing from the pass dropdown although they were active.
Fixed by building the pass list from the dump files GCC actually wrote
instead.
While reworking this:
- Read all passes into a `passDumps` map shipped with the result, so
switching passes doesn't trigger a compile.
- Trim each dump to functions defined in the user's source, dropping
header/library functions; strip forced -lineno annotations from GIMPLE
(tree/IPA) dumps when Line Numbers is off, leaving RTL untouched.
- Exclude passes with empty output
- Add a GccDumpOutput type, backend unit tests and a cypress test.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-06-20 16:06:25 +03:00
..
2025-02-26 14:09:24 -06:00
2026-06-14 20:11:35 +01:00
2023-12-28 16:10:09 +02:00
2026-05-23 15:25:52 +03:00
2026-02-22 19:46:36 -06:00
2025-08-11 14:31:44 -05:00
2026-02-02 20:02:38 -06:00
2023-05-22 22:35:01 -05:00
2026-02-22 19:46:36 -06:00
2021-04-26 18:34:16 -05:00
2026-06-11 22:01:53 +01:00
2021-10-05 01:45:05 +02:00
2021-06-02 22:58:41 +02:00
2019-08-21 01:26:16 +02:00
2026-05-09 17:14:30 -05:00
2025-01-29 10:41:03 -06:00
2021-09-13 20:22:27 +02:00
2025-10-14 13:56:59 -05:00
2026-02-01 20:50:46 -06:00
2026-06-14 22:38:23 +01:00
2024-10-27 15:28:38 +02:00
2026-05-08 10:50:09 -04:00
2024-10-26 17:42:22 +02:00
2023-11-27 22:32:04 -06:00
2024-03-08 22:25:09 -06:00
2026-02-01 20:50:46 -06:00
2026-02-01 20:50:46 -06:00
2025-01-29 10:46:17 -06:00
2026-02-16 14:01:37 -06:00
2026-02-01 20:50:46 -06:00
2026-02-01 20:50:46 -06:00
2026-02-01 20:50:46 -06:00
2026-02-01 20:50:46 -06:00
2026-02-01 20:50:46 -06:00
2026-05-28 20:45:19 +03:00
2024-03-08 22:25:09 -06:00
2026-06-11 22:25:07 +01:00
2026-02-01 20:50:46 -06:00
2026-02-01 20:50:46 -06:00
2025-06-28 14:01:36 +02:00
2026-02-01 20:50:46 -06:00
2026-02-01 20:50:46 -06:00
2025-08-05 09:31:48 -05:00
2026-02-01 20:50:46 -06:00
2026-06-11 23:02:35 +01:00
2026-02-01 20:50:46 -06:00
2024-03-08 22:25:09 -06:00
2026-02-01 20:50:46 -06:00
2026-06-14 21:50:32 +01:00
2026-05-10 09:15:36 -05:00
2026-02-16 15:12:07 -06:00
2025-08-12 08:50:53 -05:00
2026-06-01 17:43:25 -05:00
2025-10-28 18:01:23 +01:00
2026-02-01 20:50:46 -06:00
2026-06-20 16:06:25 +03:00
2026-02-08 12:50:20 +01:00
2025-05-26 16:24:04 -05:00
2026-05-09 17:14:30 -05:00
2026-02-01 20:50:46 -06:00
2026-02-01 20:50:46 -06:00
2025-02-25 13:39:26 -06:00
2026-02-01 20:50:46 -06:00
2025-09-27 10:17:55 +03:00
2026-02-22 17:25:36 -06:00
2026-02-01 20:50:46 -06:00
2026-02-02 20:06:09 -06:00
2026-06-03 22:45:23 -05:00
2024-03-08 22:25:09 -06:00
2025-07-30 10:15:28 -05:00
2026-02-01 20:50:46 -06:00
2026-02-01 20:50:46 -06:00
2026-02-16 10:35:07 -06:00
2026-02-01 20:50:46 -06:00
2018-05-24 12:36:57 -05:00
2026-03-11 21:40:54 +01:00
2026-02-01 20:50:46 -06:00
2025-06-11 18:22:44 -05:00
2026-02-01 20:50:46 -06:00
2025-09-27 10:17:55 +03:00
2025-09-27 10:17:55 +03:00
2026-02-01 20:50:46 -06:00
2026-02-27 21:10:47 -05:00
2026-03-11 21:40:54 +01:00
2025-09-27 10:17:55 +03:00
2026-05-07 19:26:03 -04:00
2025-11-04 09:00:19 -06:00
2025-11-04 10:58:11 -06:00
2025-06-11 18:22:44 -05:00
2025-06-10 12:06:57 -05:00
2026-02-01 20:50:46 -06:00
2024-03-08 22:25:09 -06:00
2026-02-01 20:50:46 -06:00
2025-07-28 10:34:46 -05:00
2026-02-01 20:50:46 -06:00
2026-06-14 20:11:35 +01:00
2026-05-06 14:27:27 -04:00
2025-12-15 17:50:07 -06:00
2026-02-01 20:50:46 -06:00
2026-06-03 21:25:50 -05:00
2026-02-08 14:23:56 -06:00
2026-02-01 20:50:46 -06:00
2026-02-01 20:50:46 -06:00