Matthias Braun
850d53a197
LTO: Decide upfront whether to use opaque/non-opaque pointer types
...
LTO code may end up mixing bitcode files from various sources varying in
their use of opaque pointer types. The current strategy to decide
between opaque / typed pointers upon the first bitcode file loaded does
not work here, since we could be loading a non-opaque bitcode file first
and would then be unable to load any files with opaque pointer types
later.
So for LTO this:
- Adds an `lto::Config::OpaquePointer` option and enforces an upfront
decision between the two modes.
- Adds `-opaque-pointers`/`-no-opaque-pointers` options to the gold
plugin; disabled by default.
- `--opaque-pointers`/`--no-opaque-pointers` options with
`-plugin-opt=-opaque-pointers`/`-plugin-opt=-no-opaque-pointers`
aliases to lld; disabled by default.
- Adds an `-lto-opaque-pointers` option to the `llvm-lto2` tool.
- Changes the clang driver to pass `-plugin-opt=-opaque-pointers` to
the linker in LTO modes when clang was configured with opaque
pointers enabled by default.
This fixes https://github.com/llvm/llvm-project/issues/55377
Differential Revision: https://reviews.llvm.org/D125847
2022-06-01 18:05:53 -07:00
..
2021-08-11 16:25:42 +08:00
2021-09-07 11:38:43 -07:00
2019-09-10 23:15:38 +00:00
2021-03-24 11:54:05 -04:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-09-21 10:18:09 +01:00
2022-01-19 10:01:53 -08:00
2019-09-10 23:15:38 +00:00
2021-09-28 15:01:05 -07:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-12-23 11:35:44 -08:00
2020-02-12 21:54:50 -08:00
2020-10-23 09:51:30 +01:00
2019-09-10 23:15:38 +00:00
2020-03-05 18:05:28 -08:00
2020-02-12 21:54:50 -08:00
2019-09-10 23:15:38 +00:00
2022-03-15 19:24:41 -07:00
2021-07-20 15:27:52 -07:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-04-02 01:21:36 +09:00
2020-10-23 09:51:30 +01:00
2020-03-15 17:48:36 -07:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-03-05 18:05:28 -08:00
2019-05-17 03:44:15 +00:00
2021-05-24 23:32:21 -04:00
2021-02-13 16:32:39 -08:00
2021-03-09 22:33:47 -08:00
2021-01-27 15:54:13 -08:00
2021-02-17 12:49:24 -08:00
2022-06-01 18:05:53 -07:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2022-02-22 10:07:58 -08:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-04-27 11:00:46 -07:00
2022-01-04 21:40:23 -08:00
2022-02-15 09:38:00 -08:00
2021-09-07 20:46:37 -07:00
2019-11-08 19:08:15 +09:00
2022-01-28 11:32:42 -08:00
2019-09-10 23:15:38 +00:00
2020-11-04 20:06:20 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-02-12 21:54:50 -08:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-05-04 18:31:09 -07:00
2020-03-26 08:28:59 -07:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-03-16 07:42:04 -07:00
2022-06-01 18:05:53 -07:00
2020-02-13 10:16:06 -08:00
2022-03-24 16:29:18 +01:00
2019-09-10 23:15:38 +00:00
2020-02-12 21:54:50 -08:00
2020-02-12 21:54:50 -08:00
2020-09-29 10:26:58 -07:00
2019-09-10 23:15:38 +00:00
2022-04-07 10:17:31 +02:00
2020-10-23 09:51:30 +01:00
2020-03-16 07:42:04 -07:00
2020-02-12 21:54:50 -08:00
2021-12-20 18:16:09 -08:00
2021-08-10 11:51:31 -07:00
2019-09-10 23:15:38 +00:00
2021-02-19 13:08:17 +01:00
2021-08-11 09:45:55 -07:00
2019-09-10 23:15:38 +00:00
2021-09-07 11:38:43 -07:00
2021-09-22 09:09:48 -07:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-12-09 15:38:50 +01:00
2020-12-04 19:33:19 -08:00
2021-04-13 16:11:58 -07:00
2020-10-23 09:51:30 +01:00
2021-09-07 11:38:43 -07:00
2022-04-03 23:57:31 -07:00
2019-10-30 09:22:48 -07:00
2021-04-16 12:18:46 -07:00
2020-02-12 21:54:50 -08:00
2019-09-10 23:15:38 +00:00
2020-01-09 21:13:11 -08:00
2022-02-27 05:37:08 +00:00
2022-05-09 18:01:50 -07:00
2019-09-07 08:20:09 +00:00
2019-09-07 08:20:09 +00:00
2019-09-10 23:15:38 +00:00
2021-02-03 09:53:22 -05:00
2020-03-16 07:42:04 -07:00
2021-02-03 09:53:22 -05:00
2020-05-08 07:37:06 -07:00
2020-06-09 23:10:30 -07:00
2019-09-10 23:15:38 +00:00
2020-05-08 07:37:06 -07:00
2020-05-08 07:37:06 -07:00
2020-05-08 07:37:06 -07:00
2020-06-10 15:32:30 -07:00
2020-05-15 12:02:08 -07:00
2020-08-17 10:00:31 -07:00
2020-05-15 12:02:08 -07:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2022-06-01 18:05:53 -07:00
2022-06-01 18:05:53 -07:00
2020-09-21 10:18:09 +01:00
2019-09-10 23:15:38 +00:00
2019-08-30 07:10:30 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2022-02-05 01:10:43 -08:00
2019-09-10 23:15:38 +00:00
2022-04-07 10:17:31 +02:00
2020-04-06 09:47:06 -07:00
2020-12-01 10:22:33 -08:00
2019-09-10 23:15:38 +00:00
2022-02-27 05:37:08 +00:00
2020-10-26 18:10:31 +01:00
2020-09-24 11:49:20 +01:00
2020-03-05 18:05:28 -08:00
2020-09-30 20:09:25 -07:00
2020-09-21 10:18:09 +01:00
2021-01-22 09:20:29 -08:00
2022-04-26 18:48:26 -07:00
2022-06-01 18:05:53 -07:00