Michael Gottesman
a70733c222
[loadable-by-address] Update debug variable type when rewriting alloc_stack
...
The LoadableByAddress pass rewrites alloc_stack instructions when their element
type changes (e.g., a function parameter convention changes from @guaranteed to
@in_guaranteed for large/opaque types). However, it was passing the original
SILDebugVariable info through unchanged. When the VarInfo has an explicit Type
field set this creates a mismatch between the SSA type and the debug type,
causing a SIL verifier failure.
In this patch, I just change the pass to update the alloc_stack as
appropriate. I verified that this cannot happen with debug_value since we do not
store the extra type info in it if we have an object typed thing. Since
loadable_by_address only changes objects -> addresses, it can never happen.
rdar://164268891
2026-02-20 10:46:39 -08:00
..
2025-12-11 09:52:51 -08:00
2026-01-15 22:11:30 -05:00
2026-02-09 13:40:38 -08:00
2025-05-04 03:28:56 +01:00
2025-10-08 18:11:13 -07:00
2025-10-24 02:07:22 +01:00
2025-06-30 10:39:26 +05:30
2025-10-24 02:07:22 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-10-24 02:07:22 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-01-28 22:08:07 +01:00
2025-06-18 12:47:16 -07:00
2025-11-02 08:28:54 +00:00
2025-04-30 15:55:17 -07:00
2026-01-22 17:41:23 +01:00
2025-05-08 09:49:47 +01:00
2025-05-23 18:56:56 +02:00
2025-05-04 03:28:56 +01:00
2025-05-20 11:42:21 +01:00
2025-02-27 10:03:37 -08:00
2025-10-15 20:44:11 -07:00
2025-05-05 13:50:51 -07:00
2025-05-22 11:45:37 +09:00
2025-05-22 11:45:37 +09:00
2025-10-24 02:07:22 +01:00
2026-02-10 16:29:19 -08:00
2026-02-10 16:29:19 -08:00
2025-11-12 11:37:19 -08:00
2025-01-23 02:24:51 -05:00
2025-10-20 10:40:37 +09:00
2025-07-11 08:36:28 -07:00
2025-07-09 18:11:15 -07:00
2025-09-11 14:39:05 -07:00
2025-10-21 21:55:24 -07:00
2025-11-20 09:19:28 -08:00
2026-01-29 00:30:33 -08:00
2025-07-11 14:24:53 -07:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-08-07 07:21:51 -07:00
2025-05-04 03:28:56 +01:00
2025-10-04 14:19:52 -07:00
2026-01-30 14:29:06 -08:00
2025-10-02 07:42:16 -07:00
2025-05-04 03:28:56 +01:00
2026-01-23 08:02:09 -08:00
2026-01-22 17:41:23 +01:00
2025-10-24 02:07:22 +01:00
2025-02-27 10:03:37 -08:00
2026-02-16 09:35:27 +09:00
2025-11-13 16:35:02 -08:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-10-29 17:31:20 -07:00
2025-05-04 03:28:56 +01:00
2025-10-24 02:07:22 +01:00
2025-09-17 18:05:44 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2026-01-06 15:30:06 +00:00
2025-05-04 03:29:36 +01:00
2025-05-29 15:09:36 +01:00
2025-10-24 02:07:22 +01:00
2025-05-22 11:45:37 +09:00
2025-04-09 11:34:15 -04:00
2025-09-04 13:03:15 -07:00
2026-01-03 15:07:10 -08:00
2026-01-03 15:07:10 -08:00
2026-01-03 15:07:10 -08:00
2026-01-03 15:07:10 -08:00
2025-05-13 11:11:38 -07:00
2025-10-09 17:41:47 -07:00
2025-10-29 01:17:38 +00:00
2026-01-03 15:07:10 -08:00
2025-10-24 02:07:22 +01:00
2025-09-04 01:02:17 +01:00
2025-01-15 13:54:34 -08:00
2025-08-11 06:53:36 +00:00
2025-07-23 09:19:50 +02:00
2025-02-27 17:48:37 -05:00
2025-10-24 02:07:22 +01:00
2026-01-06 15:30:06 +00:00
2024-12-30 23:07:58 +05:30
2025-05-04 03:28:56 +01:00
2025-10-24 02:07:22 +01:00
2025-04-30 15:55:17 -07:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-02-27 10:03:37 -08:00
2025-10-24 02:07:22 +01:00
2025-10-20 20:19:54 +02:00
2025-05-04 03:28:56 +01:00
2025-11-07 22:00:40 -08:00
2025-10-24 02:07:22 +01:00
2025-11-06 11:09:31 -08:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2026-01-06 15:30:06 +00:00
2025-10-24 02:07:22 +01:00
2025-05-20 14:35:05 -07:00
2025-11-10 13:45:36 -05:00
2025-05-22 11:45:37 +09:00
2025-10-24 02:07:22 +01:00
2025-11-07 16:36:29 -05:00
2025-10-24 02:07:22 +01:00
2025-05-04 03:28:56 +01:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-05-22 11:45:37 +09:00
2025-05-22 11:45:37 +09:00
2025-10-24 02:07:22 +01:00
2025-07-02 19:15:26 +02:00
2025-09-04 13:03:15 -07:00
2025-04-24 09:21:32 +02:00
2025-10-16 10:52:04 -07:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-05-09 14:25:17 +01:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-04-19 09:55:06 -07:00
2025-05-08 09:49:47 +01:00
2025-10-09 17:41:47 -07:00
2025-10-09 17:41:47 -07:00
2025-01-23 02:24:51 -05:00
2025-05-29 15:09:36 +01:00
2025-04-13 15:41:53 -07:00
2025-10-24 02:07:22 +01:00
2025-12-01 15:07:34 -08:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-01-27 15:43:01 -08:00
2025-09-04 15:58:32 -07:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-10-22 16:05:39 -07:00
2025-10-22 16:05:39 -07:00
2025-02-24 12:55:16 +00:00
2026-01-19 18:27:54 +09:00
2026-01-19 18:27:54 +09:00
2025-08-07 07:21:51 -07:00
2026-02-20 10:46:39 -08:00
2026-02-20 10:46:39 -08:00
2025-03-19 09:50:02 -07:00
2025-04-21 13:46:41 -07:00
2025-05-29 14:22:44 -04:00
2025-12-05 08:51:42 +00:00
2025-05-04 03:28:56 +01:00
2025-10-30 03:59:18 -07:00
2025-04-30 15:55:17 -07:00
2025-05-04 03:28:56 +01:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-05-04 03:28:56 +01:00
2025-11-15 19:29:56 +00:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-11-10 23:08:57 -08:00
2025-05-04 03:29:22 +01:00
2025-12-03 12:42:39 -08:00
2025-10-07 08:56:53 -07:00
2025-08-20 14:50:47 -07:00
2025-10-15 23:01:08 +01:00
2025-09-09 14:41:40 -07:00
2025-10-24 02:07:22 +01:00
2025-05-04 03:28:56 +01:00
2025-10-24 02:07:22 +01:00
2026-01-22 17:41:48 +01:00
2025-09-30 08:42:11 -07:00
2025-05-04 03:29:19 +01:00
2025-10-24 02:07:22 +01:00
2025-10-29 17:31:20 -07:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-06-25 15:39:23 -07:00
2025-10-24 02:07:22 +01:00
2025-08-14 23:06:49 -07:00
2025-01-31 18:08:53 -08:00
2025-05-22 11:45:37 +09:00
2025-11-20 09:19:28 -08:00
2025-06-10 22:11:05 -07:00
2025-10-20 20:19:54 +02:00
2025-05-15 12:22:21 -04:00
2025-05-04 03:28:56 +01:00
2025-11-03 16:33:40 -08:00
2025-05-04 03:29:22 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-10-24 02:07:22 +01:00
2025-05-04 03:28:56 +01:00
2025-10-24 02:07:22 +01:00
2025-05-04 03:28:56 +01:00
2025-10-24 02:07:22 +01:00
2026-01-21 16:08:58 -08:00
2025-10-24 02:07:22 +01:00
2025-07-24 17:36:59 -07:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-10-10 19:13:50 +01:00
2025-10-10 14:24:21 +01:00
2025-10-10 14:24:21 +01:00
2025-10-10 14:24:21 +01:00
2025-07-01 09:06:42 -07:00
2025-06-18 12:47:16 -07:00
2025-06-18 12:47:16 -07:00
2025-03-17 15:16:43 -04:00
2025-02-14 17:27:51 -08:00
2025-05-04 03:28:56 +01:00
2026-01-15 22:11:30 -05:00
2026-01-03 15:07:10 -08:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-09-17 16:11:47 +00:00
2025-10-22 16:05:39 -07:00
2025-10-22 16:05:39 -07:00
2025-10-23 08:43:42 -07:00
2025-10-23 08:43:42 -07:00
2025-10-22 16:05:39 -07:00
2025-10-22 16:05:39 -07:00
2025-10-22 16:05:39 -07:00
2025-10-22 16:05:39 -07:00
2025-05-29 15:09:36 +01:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-10-22 16:05:39 -07:00
2025-05-17 13:27:33 +05:30
2025-05-24 08:23:42 -07:00
2025-02-25 11:10:44 -08:00
2025-10-13 13:17:40 -07:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-09-17 18:05:44 +01:00
2026-01-12 13:31:42 -08:00
2026-01-08 14:20:42 -05:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-05-23 18:56:56 +02:00
2025-10-24 02:07:22 +01:00
2025-10-24 02:07:22 +01:00
2025-05-04 03:28:56 +01:00
2025-11-06 21:00:44 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-10-22 16:05:39 -07:00
2025-05-16 17:34:11 -04:00
2025-05-23 18:56:56 +02:00
2025-05-04 03:28:56 +01:00
2025-02-07 10:49:07 -08:00
2025-05-04 03:28:56 +01:00
2025-10-20 13:18:11 -04:00
2025-05-04 03:28:56 +01:00
2025-01-24 17:43:42 -08:00
2025-01-24 17:43:42 -08:00
2025-05-04 03:28:56 +01:00
2025-01-14 12:11:05 -07:00
2026-01-21 16:08:58 -08:00
2025-10-24 02:07:22 +01:00
2025-05-04 03:28:56 +01:00
2025-11-06 21:00:44 +01:00
2025-11-06 21:00:44 +01:00
2025-09-16 10:51:12 -07:00
2025-09-16 10:51:12 -07:00
2025-09-16 10:51:12 -07:00
2025-10-24 02:07:22 +01:00
2025-05-04 03:28:56 +01:00
2025-05-04 03:28:56 +01:00
2025-10-13 13:17:40 -07:00