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-11-04 11:34:05 -08:00
2025-11-04 11:34:05 -08:00
2025-11-03 16:33:40 -08:00
2025-10-20 09:05:32 -07:00
2025-12-09 10:21:51 -08:00
2026-01-23 08:02:09 -08:00
2025-03-31 15:52:09 -07:00
2025-03-31 15:52:09 -07:00
2025-11-17 12:46:35 -08:00
2025-07-29 18:37:48 +01:00
2025-05-20 10:15:14 +01:00
2026-02-09 14:38:08 -08:00
2025-11-07 18:26:30 -05:00
2025-05-16 17:34:11 -04:00
2025-11-21 14:55:32 -08:00
2025-11-12 14:48:19 -05:00
2025-04-03 17:35:35 -04:00
2026-02-09 14:38:08 -08:00
2026-02-09 14:38:08 -08:00
2026-01-23 08:02:09 -08:00
2026-02-16 09:35:27 +09:00
2026-01-08 14:20:42 -05:00
2026-01-08 14:20:42 -05:00
2025-12-09 10:21:51 -08:00
2025-06-13 17:00:11 -07:00
2025-07-29 18:37:48 +01:00
2025-08-22 11:56:57 +01:00
2025-12-09 10:21:51 -08:00
2026-02-16 09:35:27 +09:00
2026-02-16 09:35:27 +09:00
2025-11-03 16:20:04 +01:00
2025-08-03 17:25:42 +02:00
2025-11-24 08:30:12 +00:00
2025-10-22 21:00:17 -07:00
2026-02-06 12:24:08 -08:00
2026-01-08 14:20:42 -05:00
2026-01-01 10:14:16 -06:00
2025-10-01 15:43:07 -07:00
2026-01-21 09:38:27 -08:00
2025-11-12 14:48:19 -05:00
2025-10-30 03:59:17 -07:00
2026-01-06 15:30:06 +00:00
2026-01-06 15:30:06 +00:00
2025-11-21 11:21:15 -08:00
2025-07-21 12:37:15 +01:00
2025-11-12 14:48:19 -05:00
2026-02-13 08:37:29 +00:00
2025-12-05 09:03:16 -08:00
2026-01-08 14:20:42 -05:00
2026-02-09 14:38:08 -08:00
2026-02-09 14:38:08 -08:00
2025-10-22 13:00:38 -07:00
2025-12-04 12:07:01 +00:00
2025-10-22 21:00:17 -07:00
2025-11-12 14:48:19 -05:00
2026-02-09 16:10:00 -08:00
2025-04-03 17:35:35 -04:00
2025-07-30 14:31:33 +01:00
2025-11-12 14:48:19 -05:00
2026-01-16 08:57:50 +00:00
2026-01-12 13:31:42 -08:00
2025-07-21 12:37:15 +01:00
2026-02-09 14:38:08 -08:00
2026-01-23 08:02:09 -08:00
2025-12-09 10:21:51 -08:00
2025-09-09 14:50:54 +01:00
2025-07-30 09:36:41 -07:00
2026-02-09 09:46:34 +00:00
2026-02-11 10:10:34 -08:00
2025-12-02 17:09:17 +00:00
2025-12-02 15:08:57 -05:00
2026-01-08 14:20:42 -05:00
2025-11-12 14:48:19 -05:00
2026-02-03 16:39:19 -08:00
2026-01-23 08:02:10 -08:00
2026-01-23 08:02:10 -08:00
2025-07-29 18:37:48 +01:00
2026-02-03 17:35:00 +00:00
2025-06-30 11:13:05 +09:00
2026-02-13 16:37:19 -08:00
2026-02-20 10:46:39 -08:00
2025-06-30 15:28:15 -07:00
2025-04-09 11:34:28 -04:00
2026-01-29 05:36:11 -08:00
2026-02-09 14:38:08 -08:00
2025-11-12 14:48:19 -05:00
2025-11-03 13:44:58 -08:00
2025-07-30 14:31:33 +01:00
2025-07-21 12:37:15 +01:00
2025-10-30 03:59:18 -07:00
2025-09-10 12:12:14 +01:00
2025-11-17 12:46:35 -08:00
2026-02-03 13:07:37 -05:00
2025-11-07 16:36:29 -05:00
2025-11-20 14:33:03 -08:00
2025-07-29 18:37:48 +01:00
2025-09-08 17:44:51 -07:00
2025-11-17 12:46:35 -08:00
2026-02-09 14:38:08 -08:00
2025-11-12 14:48:19 -05:00