Jeremy Morse
faa2f9658a
[DebugInfo] Handle dbg.assigns in FastISel ( #80734 )
...
There are some rare circumstances where dbg.assign intrinsics can reach
FastISel. They are a more specialised kind of dbg.value intrinsic with
more information about the originating alloca. They only occur during
optimisation, but might reach FastISel through always_inlining an
optimised function into an optnone function.
This is a slight problem as it's not safe (for debug-info accuracy) to
ignore any intrinsics, and for RemoveDIs (the intrinsic-replacement
project) it causes a crash through an unhandled switch case. To get
around this, we can just treat the dbg.assign as a dbg.value (it's an
actual subclass) and use the variable location information from the
dbg.value fields. This loses a small amount of debug-info about stack
locations, but is more accurate than just ignoring the intrinsic.
(This has popped up deep in an LTO build of a large codebase while
testing RemoveDIs, I figured it'd be good to fix it for the
intrinsic-form at the same time, just to demonstrate the correct
behaviour).
2024-02-08 10:44:43 +00:00
..
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-11-18 06:36:33 -08:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2024-01-05 15:11:47 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-11-21 17:10:25 +00:00
2024-01-05 15:11:47 +00:00
2023-12-31 20:44:48 +08:00
2022-12-13 16:08:09 +01:00
2024-01-05 15:11:47 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-07-12 12:03:44 +02:00
2023-06-05 12:55:39 -07:00
2023-09-01 18:25:16 -07:00
2022-12-13 16:08:09 +01:00
2023-06-20 16:51:05 +02:00
2022-12-22 03:31:36 -05:00
2022-12-22 03:31:36 -05:00
2023-12-12 11:32:19 +00:00
2024-01-05 15:11:47 +00:00
2022-12-09 01:04:45 +03:00
2022-12-09 01:04:45 +03:00
2023-11-30 15:29:05 +00:00
2023-11-30 15:29:05 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2024-02-06 13:02:38 -08:00
2024-02-06 09:38:25 -08:00
2024-01-05 15:11:47 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2024-02-06 13:02:38 -08:00
2024-02-06 13:02:38 -08:00
2024-01-05 15:11:47 +00:00
2023-05-23 15:31:31 -07:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-02-09 18:45:20 +03:00
2024-01-05 15:11:47 +00:00
2024-01-05 15:11:47 +00:00
2024-01-05 15:11:47 +00:00
2023-12-12 11:32:19 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-11-21 17:10:25 +00:00
2023-11-21 17:10:25 +00:00
2023-11-21 17:10:25 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-06 19:31:10 +00:00
2023-01-06 19:31:10 +00:00
2023-01-06 19:31:10 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2024-02-06 13:02:38 -08:00
2022-12-13 16:08:09 +01:00
2023-06-10 12:02:27 +08:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-10-09 05:26:58 -07:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-09 01:04:45 +03:00
2023-01-06 10:51:02 +00:00
2023-03-29 21:01:38 +00:00
2024-02-07 12:41:32 +00:00
2023-01-11 15:07:11 -08:00
2022-12-13 16:08:09 +01:00
2023-12-12 11:32:19 +00:00
2024-02-06 13:02:38 -08:00
2022-12-15 02:57:08 +00:00
2023-11-18 19:17:51 +08:00
2022-12-22 03:31:36 -05:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2024-01-05 15:11:47 +00:00
2024-02-06 13:02:38 -08:00
2024-02-06 13:02:38 -08:00
2024-02-06 13:02:38 -08:00
2024-01-24 06:44:03 -08:00
2024-01-19 09:19:09 -08:00
2024-01-24 06:44:03 -08:00
2022-12-13 16:08:09 +01:00
2024-01-24 06:44:03 -08:00
2023-07-19 23:30:30 -07:00
2022-12-13 16:08:09 +01:00
2023-09-15 19:07:44 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-06-16 00:49:59 +02:00
2022-12-13 16:08:09 +01:00
2023-07-12 12:03:44 +02:00
2023-07-12 12:03:44 +02:00
2023-07-12 12:03:44 +02:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2024-02-08 10:44:43 +00:00
2024-01-05 15:11:47 +00:00
2022-12-13 16:08:09 +01:00
2024-02-06 13:02:38 -08:00
2023-12-12 11:32:19 +00:00
2023-06-20 09:19:19 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2024-02-06 13:02:38 -08:00
2023-01-31 14:12:02 -08:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-11-09 09:51:49 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-05-15 16:53:52 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-10-06 16:19:43 -07:00
2023-06-16 00:49:59 +02:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-06-08 11:16:42 -07:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-06-24 10:06:17 -07:00
2022-12-13 16:08:09 +01:00
2023-09-11 09:59:21 -04:00
2023-01-11 15:07:11 -08:00
2023-01-11 15:07:11 -08:00
2023-01-11 15:07:11 -08:00
2023-04-20 11:42:24 -07:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2024-02-06 13:02:38 -08:00
2023-12-12 11:32:19 +00:00
2023-04-25 13:17:46 -07:00
2023-07-12 12:03:44 +02:00
2022-12-13 16:08:09 +01:00
2024-01-05 15:11:47 +00:00
2023-11-04 17:08:42 +00:00
2023-06-16 00:49:59 +02:00
2023-06-16 00:49:59 +02:00
2022-12-13 16:08:09 +01:00
2023-12-12 14:28:05 +00:00
2024-02-06 13:02:38 -08:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-03-16 23:54:03 +05:30
2024-02-06 13:02:38 -08:00
2022-12-13 16:08:09 +01:00
2023-07-19 23:30:30 -07:00
2023-07-19 23:30:30 -07:00
2023-07-19 23:30:30 -07:00
2024-01-05 15:11:47 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-12-12 11:32:19 +00:00
2022-12-13 16:08:09 +01:00
2023-04-27 13:56:09 +01:00
2023-12-12 14:28:05 +00:00
2023-01-06 19:31:10 +00:00
2023-01-06 18:03:48 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-01-20 14:47:11 +00:00
2022-12-13 16:08:09 +01:00
2023-01-06 18:03:48 +00:00
2022-12-13 16:08:09 +01:00
2024-01-05 15:11:47 +00:00
2023-01-09 08:58:33 +00:00
2024-01-05 15:11:47 +00:00
2023-01-20 14:47:11 +00:00
2023-05-19 11:29:30 +01:00
2022-12-13 16:08:09 +01:00
2023-01-09 08:58:33 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-06-16 00:49:59 +02:00
2023-11-30 13:00:26 +00:00
2023-07-12 12:03:44 +02:00
2024-02-06 13:02:38 -08:00
2023-05-17 17:03:15 +02:00
2024-02-06 13:02:38 -08:00
2023-01-06 19:31:10 +00:00
2022-12-13 16:08:09 +01:00
2023-09-15 19:52:50 +00:00
2024-02-06 13:02:38 -08:00
2024-02-06 13:02:38 -08:00
2024-02-06 13:02:38 -08:00
2023-01-06 19:31:10 +00:00
2022-12-13 16:08:09 +01:00
2024-02-06 13:02:38 -08:00
2024-02-06 13:02:38 -08:00
2023-05-19 22:21:56 +08:00
2023-11-30 16:30:32 +00:00
2023-05-03 09:28:07 +01:00
2023-03-06 11:31:46 +04:00
2024-01-05 15:11:47 +00:00
2022-12-13 16:08:09 +01:00
2023-07-12 12:03:44 +02:00
2023-06-16 00:49:59 +02:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-22 03:31:36 -05:00
2024-01-05 15:11:47 +00:00
2024-01-05 15:11:47 +00:00
2023-12-12 11:32:19 +00:00
2023-12-12 11:32:19 +00:00
2024-02-06 13:02:38 -08:00
2022-12-13 16:08:09 +01:00
2023-01-06 19:31:10 +00:00
2023-01-06 18:03:48 +00:00
2022-12-13 16:08:09 +01:00
2023-09-15 19:07:44 +01:00
2022-12-13 16:08:09 +01:00
2024-02-06 13:02:38 -08:00
2024-02-06 13:02:38 -08:00
2022-12-12 22:34:49 +00:00
2022-12-13 16:08:09 +01:00
2023-03-29 21:01:38 +00:00
2024-01-05 15:11:47 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-12-12 11:32:19 +00:00
2023-12-12 11:32:19 +00:00
2023-01-06 19:31:10 +00:00
2024-01-08 11:56:04 +00:00
2023-11-21 17:10:25 +00:00
2023-11-21 17:10:25 +00:00
2023-11-21 17:10:25 +00:00
2023-11-21 17:10:25 +00:00
2023-11-21 17:10:25 +00:00
2023-11-21 17:10:25 +00:00
2023-01-06 19:31:10 +00:00
2023-01-06 18:03:48 +00:00
2023-01-06 19:31:10 +00:00
2024-01-16 17:01:01 -08:00
2024-02-06 13:02:38 -08:00
2024-02-06 13:02:38 -08:00
2024-02-06 13:02:38 -08:00
2024-02-01 08:47:11 -08:00
2024-01-05 15:11:47 +00:00
2023-12-12 11:32:19 +00:00
2023-01-06 19:31:10 +00:00
2023-06-01 00:21:00 +00:00
2023-06-01 00:21:00 +00:00
2024-01-05 15:11:47 +00:00
2023-12-12 15:49:24 +00:00
2023-12-12 15:49:24 +00:00
2023-12-12 15:49:24 +00:00
2023-12-12 15:49:24 +00:00
2023-12-12 15:49:24 +00:00
2023-12-12 15:49:24 +00:00
2023-12-12 15:49:24 +00:00
2023-05-23 20:24:55 +00:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-06-01 00:21:00 +00:00
2023-06-23 17:05:07 -07:00
2022-12-13 16:08:09 +01:00
2024-01-05 15:11:47 +00:00
2024-01-05 15:11:47 +00:00
2022-12-01 21:25:59 +01:00
2022-12-13 16:08:09 +01:00
2023-04-26 16:16:33 -07:00
2023-04-26 16:16:33 -07:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2022-12-13 16:08:09 +01:00
2023-06-20 16:51:05 +02:00
2023-12-12 11:32:19 +00:00
2022-12-13 16:08:09 +01:00
2023-12-12 11:32:19 +00:00
2023-12-12 11:32:19 +00:00
2024-01-05 15:11:47 +00:00
2023-06-20 22:40:56 -07:00
2024-01-09 13:32:59 +07:00