Nicolai Hähnle
1ddc51d89d
Inliner: don't mark call sites as 'nounwind' if that would be redundant
...
When F calls G calls H, G is nounwind, and G is inlined into F, then the
inlined call-site to H should be effectively nounwind so as not to lose
information during inlining.
If H itself is nounwind (which often happens when H is an intrinsic), we
no longer mark the callsite explicitly as nounwind. Previously, there
were cases where the inlined call-site of H differs from a pre-existing
call-site of H in F *only* in the explicitly added nounwind attribute,
thus preventing common subexpression elimination.
v2:
- just check CI->doesNotThrow
v3 (resubmit after revert at 3443788087 ):
- update Clang tests
Differential Revision: https://reviews.llvm.org/D129860
2022-07-20 14:17:23 +02:00
..
2022-03-03 15:25:32 -05:00
2021-08-10 11:51:31 -07:00
2021-10-29 12:32:03 -07:00
2022-06-16 09:14:22 -07:00
2022-06-24 16:27:26 +02:00
2022-01-06 14:23:51 +01:00
2022-06-27 09:42:17 +02:00
2020-09-12 15:36:06 +02:00
2021-07-09 20:57:44 +02:00
2021-10-25 14:10:58 -07:00
2022-03-17 15:40:24 -07:00
2022-06-20 16:53:31 -07:00
2021-11-15 14:44:53 -08:00
2020-10-12 10:41:40 -07:00
2019-04-17 04:52:47 +00:00
2022-07-12 09:17:54 -07:00
2022-07-15 10:18:17 +02:00
2020-09-12 15:36:06 +02:00
2022-03-22 13:48:48 -07:00
2021-10-08 15:27:30 -07:00
2022-02-14 18:35:52 +01:00
2022-07-15 10:18:17 +02:00
2019-04-17 04:52:47 +00:00
2021-11-09 11:03:29 +08:00
2022-03-18 14:16:29 -07:00
2021-12-16 09:59:50 +01:00
2021-10-29 12:32:03 -07:00
2021-11-25 07:21:42 -05:00
2021-11-09 11:03:29 +08:00
2021-11-09 11:03:29 +08:00
2022-06-27 09:42:17 +02:00
2019-04-17 04:52:47 +00:00
2020-06-24 21:27:07 +00:00
2022-01-13 14:48:38 -08:00
2022-01-13 14:48:38 -08:00
2021-07-21 08:47:45 -07:00
2020-10-12 10:41:40 -07:00
2021-10-18 16:48:10 -07:00
2022-01-06 14:23:51 +01:00
2020-11-23 21:28:59 -08:00
2020-11-23 21:28:59 -08:00
2020-12-02 11:00:16 -08:00
2022-06-14 08:06:52 -07:00
2021-10-21 20:30:01 +02:00
2021-12-16 09:59:50 +01:00
2021-11-09 11:03:29 +08:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2022-06-30 11:49:17 +02:00
2022-04-26 20:20:10 +08:00
2019-04-17 04:52:47 +00:00
2022-04-25 18:13:23 +01:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2022-04-26 20:20:10 +08:00
2019-09-09 13:08:16 +00:00
2019-06-09 14:56:46 +00:00
2021-08-10 11:51:31 -07:00
2019-04-17 04:52:47 +00:00
2022-01-13 12:04:49 +01:00
2021-01-20 13:33:43 -08:00
2021-11-09 11:03:29 +08:00
2021-09-02 17:35:06 +00:00
2021-09-02 17:35:06 +00:00
2021-09-02 17:35:06 +00:00
2021-09-02 17:35:06 +00:00
2021-09-02 17:35:06 +00:00
2021-11-09 11:03:29 +08:00
2021-10-18 13:56:48 -07:00
2022-03-07 23:51:09 -08:00
2021-10-07 08:33:25 -07:00
2021-11-09 11:03:29 +08:00
2019-04-17 04:52:47 +00:00
2022-07-01 02:37:35 -04:00
2020-07-07 12:54:55 -07:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2022-07-08 21:32:39 -07:00
2021-10-05 14:01:25 -07:00
2021-09-08 11:58:03 -07:00
2020-01-31 14:02:33 +01:00
2019-04-17 04:52:47 +00:00
2022-06-23 10:57:46 -07:00
2022-05-26 11:37:19 +01:00
2020-11-20 14:00:46 -05:00
2021-09-02 17:35:06 +00:00
2020-11-20 14:00:46 -05:00
2021-11-09 11:03:29 +08:00
2021-11-09 11:03:29 +08:00
2021-11-09 11:03:29 +08:00
2021-11-09 11:03:29 +08:00
2021-11-09 11:03:29 +08:00
2022-04-26 20:20:10 +08:00
2020-05-13 13:27:29 -07:00
2021-07-09 09:47:03 +02:00
2022-03-07 23:51:09 -08:00
2022-03-07 23:51:09 -08:00
2021-11-09 11:03:29 +08:00
2022-07-20 14:17:23 +02:00
2022-07-20 14:17:23 +02:00
2022-07-20 14:17:23 +02:00
2022-07-20 14:17:23 +02:00
2021-10-14 17:41:41 -07:00
2019-04-17 04:52:47 +00:00
2021-11-09 11:03:29 +08:00
2021-02-25 14:02:00 -08:00
2022-04-12 11:05:33 +02:00
2021-08-10 11:51:31 -07:00
2022-06-24 10:06:43 -07:00
2021-08-10 11:51:31 -07:00
2021-08-10 11:51:31 -07:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2021-11-09 11:03:29 +08:00
2021-07-20 19:52:41 +02:00
2021-10-12 10:42:41 -07:00
2022-01-31 09:31:34 +01:00
2020-11-24 18:13:59 -08:00
2020-11-24 18:13:59 -08:00
2022-05-09 15:08:09 -07:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2022-01-19 12:05:27 +01:00
2019-04-17 04:52:47 +00:00