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-19 19:01:51 +01:00
2025-02-24 09:26:54 +00:00
2024-12-15 19:01:45 +08:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2024-12-19 20:36:51 +08:00
2024-11-27 07:18:25 -08:00
2025-02-13 17:46:08 -08:00
2025-02-18 16:11:41 +01:00
2025-02-11 13:41:35 -08:00
2024-12-11 21:34:48 +11:00
2025-02-24 09:26:54 +00:00
2025-02-27 12:23:00 +01:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2024-12-19 20:36:51 +08:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2025-02-27 12:23:00 +01:00
2025-02-27 12:22:59 +01:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2025-02-18 16:11:41 +01:00
2025-01-30 11:22:46 +01:00
2025-02-16 18:37:50 +01:00
2025-02-16 18:37:50 +01:00
2025-02-16 18:37:50 +01:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-10 21:38:44 +01:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2024-12-13 00:04:56 +00:00
2024-12-19 20:36:51 +08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-21 21:51:20 -05:00
2025-01-31 22:29:08 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-01-26 03:48:27 -05:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-14 18:55:50 +00:00
2025-02-17 16:36:14 -08:00
2025-02-17 16:36:14 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-03 10:39:32 -05:00
2025-02-11 13:41:35 -08:00
2024-12-19 20:36:51 +08:00
2025-02-11 13:41:35 -08:00
2024-12-19 20:36:51 +08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:26 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-03 10:39:32 -05:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-01-21 06:59:15 -07:00
2025-02-19 15:15:29 +01:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-19 08:41:19 +01:00
2024-11-14 17:44:54 +08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2024-12-10 01:29:43 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-01-10 22:53:54 +01:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2024-12-10 21:41:05 +01:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-01-23 17:19:53 +00:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-23 21:23:36 +08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2024-12-04 16:16:24 +00:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-19 11:32:32 +01:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-01-21 08:27:30 +00:00
2024-11-06 02:22:00 -05:00
2025-02-11 13:41:35 -08:00
2025-02-12 23:01:27 -08:00
2025-02-14 22:24:27 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-13 21:26:48 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-01-27 23:44:47 +01:00
2025-02-24 09:26:54 +00:00
2025-02-06 18:21:13 +03:00
2025-02-11 13:41:35 -08:00
2025-02-24 09:26:54 +00:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-19 11:36:52 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-19 11:36:52 -08:00
2025-02-20 13:41:11 -06:00
2025-02-23 21:23:36 +08:00
2025-02-19 11:36:52 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-27 12:58:18 +08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-11 13:41:35 -08:00
2025-02-06 23:44:23 +01:00
2025-01-28 19:10:26 +03:00
2025-02-11 13:41:35 -08:00