bors
4fbae3e309
Auto merge of #154945 - oli-obk:merge-visitors-def-collector-brg, r=petrochenkov
...
Merge BuildReducedGraphVisitor into DefPathVisitor
These two visitors run right after each other on the same immutable AST. There's also a hash map for transferring the TyCtxtFeed created in the def collector to the BRG when it visits the same items. There are possibly more avenues for sharing logic, but I want to keep this PR simple.
only opening for perf runs for now. I'm still investigating how to ensure that future changes don't introduce subtle bugs by forgetting that def collection and reduced graph building are one pass now
Best reviewed commit-by-commit. I took a lot of care for making the individual changes reviewable, but all the `Merge *` commits aren't able to compile libcore until the last one.
2026-04-20 23:10:06 +00:00
..
2026-04-15 23:50:36 +05:30
2026-04-02 03:25:08 +08:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-03-02 00:23:24 +01:00
2024-12-17 19:57:42 +08:00
2024-12-17 19:57:42 +08:00
2025-04-03 11:08:55 +03:00
2025-04-03 11:08:55 +03:00
2025-04-03 11:08:55 +03:00
2025-04-03 11:08:55 +03:00
2025-04-03 11:08:55 +03:00
2025-04-03 11:08:55 +03:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2025-11-03 16:24:36 +00:00
2024-11-26 02:50:48 +08:00
2024-11-26 02:50:48 +08:00
2025-08-04 16:43:53 -04:00
2025-08-04 16:43:53 -04:00
2026-01-05 15:35:01 +09:00
2025-01-21 16:18:27 +00:00
2024-11-20 17:55:18 +00:00
2025-02-14 00:44:10 -08:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2026-04-20 13:41:33 +03:00
2026-04-20 13:41:33 +03:00
2024-11-27 07:18:25 -08:00
2024-11-27 07:18:25 -08:00
2025-04-10 09:30:55 +10:00
2025-12-02 18:25:13 +00:00
2026-02-26 23:34:41 +08:00
2026-02-26 23:34:41 +08:00
2025-08-27 00:23:26 -04:00
2025-08-27 00:23:26 -04:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-03-28 16:18:11 +09:00
2026-03-28 16:18:11 +09:00
2026-03-09 09:11:06 +00:00
2026-03-09 09:11:06 +00:00
2026-03-09 09:11:06 +00:00
2026-03-09 09:11:06 +00:00
2026-03-09 09:11:06 +00:00
2026-03-09 09:11:06 +00:00
2026-03-09 09:11:06 +00:00
2026-03-09 09:11:06 +00:00
2026-03-09 09:11:06 +00:00
2026-03-09 09:11:06 +00:00
2026-03-09 09:11:06 +00:00
2026-03-09 09:11:06 +00:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2026-02-04 04:45:52 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-02-16 22:39:22 +00:00
2025-06-02 17:49:01 +08:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2025-08-13 17:45:40 +03:00
2025-07-03 23:11:57 +08:00
2025-07-03 23:47:19 +08:00
2024-07-06 19:22:05 +00:00
2026-03-16 21:49:04 +00:00
2026-03-16 21:49:04 +00:00
2025-04-25 20:50:57 +09:00
2025-04-25 20:50:57 +09:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2025-11-03 16:24:36 +00:00
2025-11-03 16:24:36 +00:00
2025-11-27 11:19:00 -05:00
2025-12-12 16:22:25 +00:00
2025-12-12 16:22:25 +00:00
2026-01-18 04:34:46 +09:00
2026-01-18 04:34:46 +09:00
2026-02-27 22:54:10 +09:00
2026-02-27 22:54:10 +09:00
2026-02-27 22:54:10 +09:00
2026-02-27 22:54:10 +09:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-01-16 18:17:35 +01:00
2026-01-16 18:17:35 +01:00
2025-08-14 15:28:35 +02:00
2024-07-06 19:22:05 +00:00
2025-11-03 16:24:36 +00:00
2025-11-03 16:24:36 +00:00
2025-01-26 21:20:31 +01:00
2025-02-10 20:21:39 +00:00
2024-09-27 00:45:02 +00:00
2025-06-05 09:19:31 +02:00
2025-06-05 09:19:31 +02:00
2025-02-10 20:21:39 +00:00
2024-10-06 01:44:59 +00:00
2025-12-09 17:29:23 +00:00
2025-11-03 16:24:36 +00:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-02-10 20:21:39 +00:00
2024-07-18 18:20:35 +00:00
2025-12-02 18:25:13 +00:00
2025-12-02 18:25:13 +00:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-04-30 10:44:24 +03:00
2025-04-30 10:44:24 +03:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2026-04-15 01:38:14 +00:00
2025-11-27 11:19:00 -05:00
2026-04-15 01:38:14 +00:00
2025-02-14 00:44:10 -08:00
2025-11-08 07:37:15 +01:00
2025-11-03 16:24:35 +00:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-12-09 17:29:23 +00:00
2024-12-09 15:17:26 +01:00
2025-02-14 00:44:10 -08:00
2024-07-06 19:22:05 +00:00
2025-11-03 16:24:36 +00:00
2025-11-03 16:24:36 +00:00
2025-12-02 18:25:13 +00:00
2025-12-02 18:25:13 +00:00
2026-04-15 01:38:14 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:53 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-03-28 16:18:11 +09:00
2026-03-28 16:18:11 +09:00
2025-12-02 18:25:13 +00:00
2025-12-02 18:25:13 +00:00
2025-12-02 18:25:13 +00:00
2025-12-02 18:25:13 +00:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2026-02-26 23:34:41 +08:00
2026-02-26 23:34:41 +08:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2025-08-26 06:36:53 +00:00
2025-02-10 20:21:39 +00:00
2025-02-10 20:21:39 +00:00
2025-08-14 18:50:58 +03:00
2025-08-14 18:50:58 +03:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2024-10-11 17:36:04 +02:00
2024-10-11 17:36:04 +02:00
2024-10-11 17:36:04 +02:00
2024-10-11 17:36:04 +02:00
2025-02-10 20:21:39 +00:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2025-04-08 23:06:31 +03:00
2024-07-26 10:51:55 +08:00
2025-12-09 17:29:23 +00:00
2024-08-19 17:24:27 -04:00
2026-03-28 16:18:11 +09:00
2026-03-28 16:18:11 +09:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2025-09-12 14:45:12 -04:00
2025-12-02 18:25:13 +00:00
2025-12-16 02:10:08 +09:00
2025-12-16 02:10:08 +09:00
2025-12-18 21:18:05 +01:00
2025-12-18 21:18:05 +01:00
2026-03-15 01:50:36 +00:00
2025-12-02 11:24:03 +09:00
2024-12-17 19:57:42 +08:00
2025-06-11 17:49:03 +05:00
2025-06-11 17:49:03 +05:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2026-03-21 12:38:17 +00:00
2024-12-10 18:00:11 +00:00
2024-12-10 18:00:11 +00:00
2025-03-25 17:33:09 +03:00
2024-12-10 18:18:03 +00:00
2026-03-17 17:30:56 +01:00
2026-03-17 17:30:56 +01:00
2026-04-02 23:59:33 +01:00
2026-04-02 23:59:33 +01:00
2025-08-05 19:34:46 +05:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2025-03-30 04:22:14 +00:00
2025-03-30 04:22:14 +00:00
2025-11-27 11:19:00 -05:00
2025-12-09 17:29:23 +00:00
2025-11-27 11:19:00 -05:00
2025-12-09 17:29:23 +00:00
2025-10-25 22:46:15 +01:00
2025-10-25 22:46:15 +01:00
2026-03-17 17:39:59 +08:00
2025-12-18 21:18:05 +01:00
2026-03-16 22:22:25 +08:00
2026-04-20 13:53:15 +02:00
2026-04-12 14:38:43 +02:00
2026-04-12 14:38:43 +02:00
2025-12-02 18:25:13 +00:00
2025-07-31 21:25:49 +05:00
2025-11-19 15:50:40 +00:00
2025-11-19 15:50:40 +00:00
2026-02-10 13:45:09 +01:00
2026-04-09 23:27:38 +08:00
2026-04-09 23:27:38 +08:00
2026-02-26 23:34:41 +08:00
2026-02-26 23:34:41 +08:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-04-30 10:44:24 +03:00
2024-07-18 00:00:04 +00:00
2026-04-15 23:50:36 +05:30
2024-07-18 00:00:04 +00:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-02-14 00:44:10 -08:00
2025-02-14 00:44:10 -08:00
2025-01-18 08:38:50 +08:00
2025-01-18 08:38:50 +08:00
2025-01-18 08:38:50 +08:00
2025-11-27 11:19:00 -05:00
2025-12-02 18:25:13 +00:00
2025-07-01 15:29:29 +05:00
2026-03-17 17:39:59 +08:00
2025-11-03 16:24:36 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-01-05 15:35:01 +09:00
2026-02-22 11:40:27 +01:00
2026-03-05 23:53:54 +01:00
2026-02-01 04:09:25 +00:00
2026-02-01 04:09:25 +00:00
2026-02-01 04:09:25 +00:00
2026-02-01 04:09:25 +00:00
2026-02-04 04:45:52 +00:00
2025-06-30 11:16:18 +05:00
2025-12-17 14:53:14 +00:00
2025-12-17 14:53:14 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2025-12-09 17:29:23 +00:00
2025-06-30 11:16:18 +05:00
2025-04-07 19:13:31 +03:00
2026-04-02 03:25:08 +08:00
2026-03-28 16:18:11 +09:00
2026-03-28 16:18:11 +09:00
2025-02-10 20:21:39 +00:00
2025-11-27 11:19:00 -05:00
2026-02-19 21:24:47 +03:00
2025-08-27 15:06:05 -04:00
2025-08-27 15:06:05 -04:00
2024-07-06 19:22:05 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2025-09-25 20:36:14 +03:00
2025-09-25 20:36:14 +03:00
2025-11-27 11:19:00 -05:00
2025-11-27 11:19:00 -05:00
2025-12-02 18:25:13 +00:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00
2025-11-03 16:24:36 +00:00
2025-11-03 16:24:36 +00:00
2025-11-27 11:19:00 -05:00
2026-02-17 16:51:44 +00:00
2026-02-17 16:51:44 +00:00