Adrian Prantl
90bbe517f9
Disable SROA debug info for variables with expressions.
...
Currently the SROA just overwrites already-existing expressions on
variables. When SROA is recursively run on a data structure this leads to
nonsensical expressions such as
type $*Outer, expr op_fragment:#Inner.x
instead of
type $*Outer, expr op_fragment:#Outer.inner op_fragment:#Inner.x
The (nonsensical) LLVM IR generated from this violates some assumptions in LLVM
for example, if a struct has multiple members of the same type, you can end up
with multiple dbg.declare intrinsics claiming to describe the same variable). As
a quick fix, this patch detects this situation and drops the debug info. A
proper fix shouldn't be too difficult to implement though.
rdar://99874371
2022-09-19 16:10:18 -07:00
..
2022-07-19 12:22:29 -04:00
2021-12-15 21:37:00 -08:00
2021-09-04 12:01:25 -07:00
2021-02-26 13:53:30 -08:00
2021-08-13 14:35:26 -07:00
2020-05-13 16:57:44 -07:00
2019-02-08 14:22:56 -08:00
2019-09-25 08:51:05 -07:00
2020-05-29 19:04:22 -07:00
2020-07-02 16:28:41 -07:00
2019-12-04 14:39:12 -08:00
2020-06-12 18:01:24 -07:00
2019-05-28 17:21:31 -07:00
2021-09-01 18:20:01 -07:00
2021-10-28 14:36:36 -07:00
2021-07-26 21:24:43 -07:00
2021-09-04 17:16:01 -07:00
2022-06-23 09:40:25 -07:00
2022-01-27 01:53:19 -05:00
2021-09-04 17:16:01 -07:00
2020-05-13 16:57:44 -07:00
2019-02-08 14:22:56 -08:00
2021-02-26 13:53:30 -08:00
2019-11-04 08:22:00 -08:00
2020-05-13 16:57:44 -07:00
2020-04-20 14:45:58 -07:00
2019-08-27 09:16:53 -07:00
2019-02-07 14:30:07 -08:00
2019-02-07 14:30:07 -08:00
2020-05-18 14:52:00 -07:00
2021-03-12 19:32:55 -08:00
2021-12-02 18:38:16 -08:00
2021-06-08 14:39:42 -07:00
2019-03-05 08:28:17 -08:00
2021-02-26 13:53:30 -08:00
2019-10-11 22:06:53 -07:00
2019-10-11 22:06:53 -07:00
2021-09-13 16:44:16 -07:00
2021-09-20 15:38:05 -07:00
2019-02-08 14:22:56 -08:00
2020-06-02 11:18:45 -07:00
2020-09-28 23:08:14 -07:00
2021-09-10 14:17:38 -07:00
2021-11-04 11:17:52 -07:00
2021-11-04 11:17:52 -07:00
2020-07-01 00:40:30 -07:00
2020-01-13 15:13:38 -08:00
2022-01-24 14:05:17 -05:00
2022-08-22 15:28:00 -07:00
2022-08-21 03:00:44 +03:00
2019-02-08 14:22:56 -08:00
2021-10-14 18:30:01 -07:00
2019-09-25 08:51:05 -07:00
2021-05-20 13:48:47 -07:00
2021-09-04 17:16:01 -07:00
2021-09-04 17:16:01 -07:00
2022-01-27 20:56:10 -08:00
2022-01-27 20:56:10 -08:00
2019-01-10 15:38:24 -08:00
2019-01-10 15:38:24 -08:00
2019-09-25 08:51:05 -07:00
2019-11-04 13:36:49 -08:00
2019-09-25 08:51:05 -07:00
2019-09-25 08:51:05 -07:00
2019-11-04 13:36:49 -08:00
2019-11-04 08:22:00 -08:00
2022-01-18 14:04:56 -08:00
2019-03-27 10:51:16 -07:00
2022-01-31 09:21:18 -08:00
2022-01-31 09:21:18 -08:00
2021-01-11 22:47:41 -05:00
2022-02-18 17:29:04 -08:00
2019-01-10 15:38:24 -08:00
2021-08-04 12:56:35 -07:00
2020-09-23 13:53:55 -07:00
2020-06-22 11:01:46 -07:00
2020-01-13 15:13:38 -08:00
2021-10-14 18:30:01 -07:00
2019-03-02 00:17:15 -05:00
2021-10-14 18:30:01 -07:00
2021-10-14 18:30:01 -07:00
2021-09-04 12:01:25 -07:00
2020-07-25 23:52:06 -07:00
2019-03-26 11:16:56 -07:00
2019-03-29 18:19:26 -07:00
2020-02-18 12:03:57 +01:00
2022-02-18 17:29:04 -08:00
2022-07-19 12:22:29 -04:00
2022-05-26 09:58:59 -07:00
2020-01-13 15:13:38 -08:00
2021-10-14 18:30:01 -07:00
2019-11-04 13:36:49 -08:00
2021-10-12 16:53:30 -07:00
2020-08-09 17:24:17 -07:00
2022-08-10 12:45:17 -07:00
2022-08-10 12:45:17 -07:00
2019-09-25 08:51:05 -07:00
2020-04-10 15:05:54 -04:00
2022-08-21 03:00:44 +03:00
2020-09-23 13:53:55 -07:00
2020-05-13 16:57:44 -07:00
2019-10-15 15:44:26 -07:00
2021-08-20 12:57:23 -07:00
2022-05-04 10:24:11 -07:00
2019-02-08 14:22:56 -08:00
2021-10-08 12:28:16 -07:00
2019-02-20 16:04:16 -08:00
2019-11-04 08:22:00 -08:00
2019-09-25 08:51:05 -07:00
2021-05-20 13:48:47 -07:00
2022-08-21 03:00:44 +03:00
2020-04-06 18:19:57 -04:00
2021-12-15 21:37:00 -08:00
2022-06-15 08:35:16 -07:00
2022-03-23 23:06:14 -05:00
2020-01-11 10:28:02 -08:00
2021-10-14 18:30:01 -07:00
2022-09-19 16:10:18 -07:00
2021-09-10 14:17:38 -07:00
2021-08-20 12:57:23 -07:00
2022-09-19 16:10:18 -07:00
2019-05-01 15:18:15 -07:00
2019-10-01 13:10:07 -07:00
2019-09-25 08:51:05 -07:00
2019-02-13 19:17:25 -05:00
2019-02-17 10:20:59 -08:00
2021-10-20 14:51:11 -07:00
2019-02-08 14:22:56 -08:00
2021-10-14 18:30:01 -07:00
2020-05-13 16:57:44 -07:00
2019-02-20 16:04:16 -08:00
2021-03-25 15:19:30 +01:00
2020-06-22 11:01:46 -07:00
2020-06-10 08:27:08 -07:00
2021-08-31 12:01:04 -07:00
2021-08-05 17:27:45 -07:00
2019-01-10 15:38:24 -08:00