bors
0c72c0d11a
Auto merge of #133250 - DianQK:embed-bitcode-pgo, r=nikic
...
The embedded bitcode should always be prepared for LTO/ThinLTO
Fixes #115344 . Fixes #117220 .
There are currently two methods for generating bitcode that used for LTO. One method involves using `-C linker-plugin-lto` to emit object files as bitcode, which is the typical setting used by cargo. The other method is through `-C embed-bitcode=yes`.
When using with `-C embed-bitcode=yes -C lto=no`, we run a complete non-LTO LLVM pipeline to obtain bitcode, then the bitcode is used for LTO. We run the Call Graph Profile Pass twice on the same module.
This PR is doing something similar to LLVM's `buildFatLTODefaultPipeline`, obtaining the bitcode for embedding after running `buildThinLTOPreLinkDefaultPipeline`.
r? nikic
2025-03-01 08:22:18 +00:00
..
2025-02-12 22:44:39 +01:00
2025-01-31 04:07:06 +01:00
2024-11-22 20:46:05 +01:00
2024-07-18 09:28:50 -04:00
2024-08-10 18:06:10 +00:00
2024-07-17 16:47:39 -04:00
2025-02-20 15:05:06 +01:00
2024-12-28 11:58:32 +08:00
2025-01-18 01:39:01 +11:00
2024-07-23 10:31:21 -04:00
2024-07-23 10:31:21 -04:00
2024-07-17 13:34:18 +00:00
2024-08-10 18:06:10 +00:00
2024-09-22 19:11:29 -04:00
2024-07-19 12:27:47 -04:00
2024-07-19 12:27:47 -04:00
2024-09-22 19:11:29 -04:00
2024-09-22 19:11:29 -04:00
2024-07-17 13:34:18 +00:00
2024-08-05 10:39:17 -04:00
2024-07-09 14:30:57 -04:00
2024-10-01 23:05:24 -06:00
2024-09-05 08:43:38 +00:00
2024-09-05 08:43:38 +00:00
2024-09-05 08:43:38 +00:00
2024-09-24 19:04:51 +08:00
2024-07-17 13:34:18 +00:00
2024-07-19 16:48:21 -04:00
2024-07-25 11:08:07 -04:00
2024-08-10 18:06:10 +00:00
2024-09-22 19:11:29 -04:00
2025-02-26 13:07:12 +01:00
2024-07-17 13:34:18 +00:00
2024-12-23 22:15:32 +00:00
2024-08-02 10:06:20 -04:00
2025-01-21 06:59:15 -07:00
2024-07-29 08:26:52 +10:00
2024-12-07 18:18:08 +00:00
2024-12-07 18:18:08 +00:00
2024-07-17 13:34:18 +00:00
2024-07-31 11:33:08 -04:00
2024-10-24 16:49:12 +01:00
2024-10-09 20:58:27 +11:00
2024-10-22 19:43:22 +08:00
2024-08-06 11:03:18 -04:00
2024-08-10 18:06:10 +00:00
2024-08-22 11:52:21 +10:00
2024-08-15 10:16:30 -04:00
2024-08-15 15:44:29 +02:00
2024-11-21 17:09:51 +00:00
2024-07-29 08:26:52 +10:00
2024-08-13 20:14:57 +02:00
2024-09-29 13:01:41 +02:00
2024-07-29 08:26:52 +10:00
2024-08-29 10:15:17 -04:00
2024-12-23 09:40:38 +00:00
2024-07-17 13:34:18 +00:00
2024-07-17 13:34:18 +00:00
2024-09-27 15:53:26 -07:00
2024-12-23 09:40:25 +00:00
2024-07-17 13:34:18 +00:00
2024-07-17 13:34:18 +00:00
2024-08-29 10:15:17 -04:00
2024-10-07 16:30:41 +00:00
2024-07-12 10:58:20 -04:00
2024-08-15 15:44:29 +02:00
2024-07-26 10:17:39 -04:00
2024-07-23 15:08:40 -04:00
2024-08-10 18:06:10 +00:00
2024-07-17 13:34:18 +00:00
2024-09-22 19:11:29 -04:00
2024-07-19 12:27:47 -04:00
2024-07-17 15:33:17 -04:00
2025-01-15 01:05:16 +08:00
2024-07-17 15:33:06 -04:00
2024-12-17 14:33:10 -08:00
2024-07-17 15:33:05 -04:00
2024-07-17 15:33:07 -04:00
2024-07-19 12:27:47 -04:00
2024-07-23 15:08:40 -04:00
2024-07-23 15:08:40 -04:00
2024-07-17 13:34:18 +00:00
2025-01-21 06:59:15 -07:00
2024-08-02 10:06:20 -04:00
2024-09-22 19:11:29 -04:00
2024-07-26 10:17:39 -04:00
2025-01-22 17:22:39 +01:00
2024-08-10 18:06:10 +00:00
2024-07-17 16:10:22 -04:00
2024-12-23 09:40:38 +00:00
2024-07-17 13:34:18 +00:00
2025-02-24 04:04:59 +01:00
2024-12-23 20:23:57 +08:00
2024-07-25 11:08:07 -04:00
2024-07-29 08:26:52 +10:00
2024-08-10 18:06:10 +00:00
2024-08-10 18:06:10 +00:00
2024-07-17 13:34:18 +00:00
2024-07-29 08:26:52 +10:00
2024-07-25 11:08:07 -04:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-17 13:34:18 +00:00
2024-07-17 13:34:18 +00:00
2024-09-16 21:31:41 +08:00
2024-07-22 10:12:00 -04:00
2024-10-22 19:43:22 +08:00
2024-07-29 08:26:52 +10:00
2025-01-22 12:26:50 +08:00
2024-07-26 14:17:11 -04:00
2024-07-29 08:26:52 +10:00
2025-02-07 01:41:54 +08:00
2024-12-23 09:40:25 +00:00
2025-01-01 15:58:29 +01:00
2025-01-01 15:58:29 +01:00
2024-12-23 09:40:25 +00:00
2024-07-09 23:07:38 +01:00
2024-12-14 20:38:46 -05:00
2024-07-29 14:33:54 -04:00
2024-12-14 20:38:46 -05:00
2024-07-30 14:44:14 -04:00
2024-07-22 23:21:59 +02:00
2024-07-23 11:47:11 +02:00
2024-07-18 16:27:34 -04:00
2024-10-27 21:23:28 -04:00
2024-07-19 12:27:47 -04:00
2025-01-26 22:57:20 -05:00
2024-09-05 08:43:38 +00:00
2025-01-19 07:17:33 -08:00
2024-12-23 09:40:38 +00:00
2024-08-06 11:03:18 -04:00
2024-08-06 11:03:18 -04:00
2024-10-10 15:02:47 +01:00
2024-07-29 08:26:52 +10:00
2024-07-22 13:25:39 -04:00
2024-07-19 12:27:47 -04:00
2024-08-10 18:06:10 +00:00
2024-07-18 16:27:34 -04:00
2024-07-18 09:28:30 -04:00
2024-08-29 10:15:17 -04:00
2024-07-18 09:28:30 -04:00
2024-07-17 13:34:18 +00:00
2024-08-14 10:33:56 -04:00
2024-07-17 16:11:11 -04:00
2024-12-23 09:40:25 +00:00
2024-07-17 13:34:18 +00:00
2024-07-17 13:34:18 +00:00
2024-09-22 11:40:00 +02:00
2024-08-19 18:26:55 +00:00
2024-11-12 08:57:57 +00:00
2024-08-10 18:06:10 +00:00
2024-12-23 09:40:38 +00:00
2024-11-28 13:43:05 -05:00
2024-08-27 22:13:31 +03:00
2024-07-19 12:27:46 -04:00
2024-08-15 10:17:38 -04:00
2024-07-26 12:07:33 -04:00
2025-01-21 06:59:15 -07:00
2024-09-05 08:43:38 +00:00
2024-12-23 09:40:38 +00:00
2024-08-04 02:57:18 +00:00
2024-07-29 08:26:52 +10:00
2024-10-13 02:10:19 +01:00
2024-08-10 18:16:15 +00:00
2024-07-29 08:26:52 +10:00
2024-10-09 20:58:27 +11:00
2024-07-17 13:34:18 +00:00
2024-07-17 13:34:18 +00:00
2024-08-10 18:16:15 +00:00
2024-07-25 11:17:34 -04:00
2024-07-29 08:26:52 +10:00
2024-07-19 12:27:47 -04:00
2024-09-10 17:23:05 +02:00
2024-09-10 17:23:05 +02:00
2024-10-09 20:58:27 +11:00
2025-02-23 21:23:36 +08:00
2024-10-09 20:58:27 +11:00
2024-10-09 20:58:27 +11:00
2024-07-22 13:25:39 -04:00
2024-10-09 20:58:27 +11:00
2024-10-09 20:58:27 +11:00
2024-10-31 11:59:17 +00:00
2024-11-15 14:13:38 +00:00
2024-07-17 13:34:18 +00:00
2024-07-17 13:34:18 +00:00
2024-08-29 10:15:17 -04:00
2024-08-26 18:20:32 +08:00
2024-08-10 18:06:10 +00:00
2024-08-10 18:06:10 +00:00
2024-11-02 23:39:29 +11:00
2024-08-26 18:20:32 +08:00
2024-08-26 18:20:32 +08:00
2024-07-08 10:31:05 -04:00
2024-07-16 15:34:04 -04:00
2024-08-05 10:11:53 -04:00
2024-08-05 10:11:53 -04:00
2024-07-12 16:41:28 -04:00
2024-07-29 10:58:28 -04:00
2024-07-12 16:41:28 -04:00
2024-07-29 10:58:28 -04:00
2024-07-29 10:58:28 -04:00
2024-08-10 18:06:10 +00:00
2024-07-29 08:26:52 +10:00
2024-07-17 13:34:18 +00:00
2024-08-12 10:27:20 -04:00
2024-12-23 09:40:38 +00:00
2024-07-29 08:26:52 +10:00
2025-01-06 16:59:46 -05:00
2024-08-10 18:06:10 +00:00
2024-08-29 10:15:17 -04:00
2024-07-29 08:26:52 +10:00
2024-07-19 12:27:26 -04:00
2024-07-17 13:34:18 +00:00
2024-08-15 10:17:38 -04:00
2024-07-26 15:20:01 -04:00
2024-08-10 18:06:10 +00:00
2024-08-10 18:06:10 +00:00
2025-01-26 22:57:20 -05:00
2025-01-26 22:57:20 -05:00
2025-01-26 22:57:20 -05:00
2025-01-26 22:57:20 -05:00
2024-10-23 19:01:38 +08:00
2025-02-16 16:18:30 -05:00
2025-02-13 19:47:55 +00:00
2024-07-12 10:58:20 -04:00
2024-07-18 11:14:07 -04:00
2025-01-14 09:51:55 -06:00
2024-08-29 10:15:17 -04:00
2024-08-15 15:44:29 +02:00
2024-12-23 09:40:25 +00:00
2024-08-29 10:15:17 -04:00
2024-12-23 09:40:25 +00:00
2025-02-27 13:22:16 +00:00
2025-02-27 13:22:16 +00:00
2025-02-27 13:22:16 +00:00
2025-02-27 13:22:16 +00:00
2025-02-27 13:22:16 +00:00
2025-02-27 13:22:16 +00:00
2024-09-22 19:11:29 -04:00
2024-08-15 15:44:29 +02:00
2024-07-29 08:26:52 +10:00
2025-02-27 13:22:16 +00:00
2024-07-29 08:26:52 +10:00
2025-02-27 13:22:16 +00:00
2025-02-27 13:22:16 +00:00
2025-02-27 13:22:16 +00:00
2024-07-23 10:26:35 -04:00
2024-07-23 10:26:35 -04:00
2024-07-26 11:45:19 -04:00
2024-09-05 08:43:38 +00:00
2024-07-29 10:58:28 -04:00
2024-07-17 13:34:18 +00:00
2024-12-31 12:41:20 +01:00
2025-02-01 16:14:58 +08:00
2024-08-01 11:07:04 -04:00
2024-07-26 11:45:19 -04:00
2024-07-17 15:33:07 -04:00
2024-09-05 08:43:38 +00:00
2024-07-18 09:34:54 -04:00
2025-02-21 13:30:17 +00:00
2024-08-08 12:17:15 +00:00
2024-08-14 16:44:05 +00:00
2024-07-08 09:59:08 -04:00
2024-09-05 08:43:38 +00:00
2024-09-05 08:43:38 +00:00
2025-01-02 22:17:39 +01:00
2024-07-29 08:26:52 +10:00
2025-01-31 04:30:51 +00:00
2024-12-23 09:40:38 +00:00
2024-12-17 14:33:10 -08:00
2024-09-16 21:31:41 +08:00
2024-09-16 21:31:41 +08:00
2024-09-16 21:31:41 +08:00
2024-09-05 08:43:38 +00:00
2024-07-08 10:20:42 -04:00
2025-01-16 01:22:50 +01:00
2024-08-26 18:20:32 +08:00
2024-07-19 16:48:21 -04:00
2024-09-24 19:04:51 +08:00
2024-11-30 16:29:49 +08:00
2024-07-17 13:34:18 +00:00
2024-10-09 20:58:27 +11:00
2025-01-29 08:11:01 +00:00
2024-09-22 19:11:29 -04:00
2024-09-05 08:43:38 +00:00
2024-11-20 12:11:40 -08:00
2024-07-17 16:11:11 -04:00
2024-08-03 13:02:32 +00:00
2024-11-10 16:28:54 +01:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2025-02-08 22:12:13 +00:00
2024-07-29 08:26:52 +10:00
2024-08-02 11:54:20 -04:00
2024-07-19 10:27:14 -07:00
2024-07-29 08:26:52 +10:00
2024-07-19 10:27:14 -07:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-07-29 08:26:52 +10:00
2024-09-05 08:43:38 +00:00
2024-08-04 02:57:17 +00:00
2024-10-16 12:40:25 +11:00