Daniel Thornburgh
05dd3ae10c
[SimplifyLibCalls] Prevent orphaned global string literals ( #189502 )
...
When `printf` is simplified to `puts`, `SimplifyLibCalls` would eagerly
create a global string for the argument before checking if `puts` is
emittable. If `puts` is not emittable (e.g. because it's an unextracted
bitcode libfunc), the optimization aborts, leaving an orphaned global
string in the module. Under expensive checks, this triggers a fatal
error because the function pass modified the module without reporting
it.
This change defers the creation of the global string until after
checking if `puts` is emittable.
(This PR was created with the help of Gemini CLI.)
2026-03-31 12:12:15 -07:00
..
2026-03-30 18:57:37 +02:00
2026-03-30 10:53:52 +00:00
2026-03-31 09:01:11 +08:00
2026-03-08 18:55:14 +01:00
2026-03-31 09:01:11 +08:00
2025-10-10 05:23:44 -07:00
2026-03-14 12:47:10 +01:00
2026-01-21 10:30:09 -05:00
2026-01-13 08:33:34 -08:00
2026-03-19 11:25:46 -07:00
2026-01-15 12:53:35 -05:00
2026-03-14 12:47:10 +01:00
2025-10-08 18:27:22 +01:00
2025-11-22 15:30:28 -08:00
2025-11-14 10:57:08 -08:00
2026-03-25 13:59:38 +00:00
2026-03-14 12:47:10 +01:00
2026-03-14 12:47:10 +01:00
2026-03-14 12:47:10 +01:00
2025-12-22 16:48:25 -08:00
2026-02-28 12:44:25 -08:00
2026-03-14 11:03:33 +00:00
2026-01-22 13:39:10 +08:00
2026-03-27 13:52:31 -07:00
2025-10-10 14:42:05 -07:00
2026-01-23 10:29:20 -08:00
2026-01-13 11:52:46 -05:00
2026-03-30 18:57:37 +02:00
2026-03-14 11:03:33 +00:00
2026-03-27 13:02:51 +00:00
2026-03-20 10:21:15 +00:00
2026-03-18 15:08:41 +00:00
2026-03-27 13:02:51 +00:00
2026-03-14 12:47:10 +01:00
2026-03-14 11:03:33 +00:00
2026-03-19 11:18:06 +01:00
2025-12-11 14:26:47 +00:00
2026-03-18 09:35:49 +01:00
2026-03-14 12:47:10 +01:00
2026-03-14 12:47:10 +01:00
2026-03-14 12:47:10 +01:00
2026-03-14 12:47:10 +01:00
2026-03-14 12:47:10 +01:00
2026-03-09 10:17:45 -07:00
2026-02-25 08:47:28 +01:00
2026-03-14 12:47:10 +01:00
2025-12-04 04:07:57 +00:00
2026-01-25 16:21:52 +01:00
2026-03-14 12:47:10 +01:00
2026-03-18 15:08:41 +00:00
2026-01-27 21:10:48 -05:00
2026-01-22 13:55:53 -05:00
2026-01-27 16:29:35 +00:00
2026-03-13 16:23:06 +00:00
2026-03-14 12:47:10 +01:00
2026-03-29 18:26:54 +00:00
2026-03-16 13:28:48 +01:00
2026-03-31 12:12:15 -07:00
2026-03-04 00:35:02 +00:00
2025-12-09 06:37:36 -05:00
2026-03-14 12:47:10 +01:00
2026-03-14 12:47:10 +01:00
2025-11-26 12:39:40 -08:00
2026-03-04 10:54:16 +05:30