Marina Taylor
55322f2d43
[ObjCARC] Run ObjCARCContract before PreISelIntrinsicLowering ( #184149 )
...
74e4694 moved ObjCARCContract from running before the codegen pipeline
into addISelPrepare(), which runs after PreISelIntrinsicLowering.
This broke ObjCARCContract's retainRV-to-claimRV optimization because
ObjCARCContract identifies ARC calls via intrinsics, not their lowered
counterparts.
This patch restores the pre-74e4694 ordering by moving ObjCARCContract
to addISelPasses.
The IntrinsicInst.cpp change looks extraneous but is required here:
ObjCARCContract may now rewrite the bundle operand from retainRV to
claimRV. When PreISelIntrinsicLowering then encounters this new
intrinsic use, lowerObjCCall asserts mayLowerToFunctionCall.
Assisted-by: claude
rdar://137997453
2026-03-27 15:37:47 +00:00
..
2026-03-27 15:37:47 +00:00
2025-06-11 22:19:31 -07:00
2026-03-23 16:58:24 +01:00
2026-03-16 09:11:54 -07:00
2026-03-04 20:10:14 +00:00
2026-03-16 09:11:54 -07:00
2025-10-14 22:00:25 +00:00
2025-10-14 22:00:25 +00:00
2026-03-04 18:00:42 +09:00
2026-03-04 18:00:42 +09:00
2025-07-03 07:25:38 +09:00
2025-01-22 22:39:43 -08:00
2025-04-02 20:27:43 +01:00
2026-02-06 00:40:25 +00:00
2025-06-24 11:40:47 -07:00
2025-07-03 11:01:36 +01:00
2025-09-19 10:11:15 -07:00
2025-07-03 07:25:38 +09:00
2025-09-19 10:11:15 -07:00
2025-08-08 11:09:34 +02:00
2026-03-06 12:43:09 -08:00
2025-02-17 09:04:29 +00:00
2025-04-30 15:01:00 +02:00
2025-04-30 15:01:00 +02:00
2025-09-08 15:43:51 +00:00
2026-01-21 09:50:28 +00:00
2026-01-25 18:24:12 -05:00
2026-01-25 18:24:12 -05:00
2025-09-25 14:49:25 -07:00
2025-11-12 04:33:41 +08:00
2025-11-12 04:33:41 +08:00
2026-03-14 19:01:53 +01:00
2026-01-08 15:07:59 +01:00
2026-01-08 15:07:59 +01:00
2026-01-30 12:05:15 -08:00
2026-03-04 18:00:42 +09:00
2025-07-03 07:25:38 +09:00
2026-03-26 21:04:57 +09:00
2025-09-02 16:21:35 -07:00
2026-03-06 12:43:09 -08:00
2025-07-01 20:26:30 -07:00
2025-10-20 09:12:00 +01:00
2025-02-17 09:09:52 +00:00
2025-07-25 12:30:59 -07:00
2025-04-01 10:47:35 -07:00
2026-01-08 16:19:44 -08:00
2026-01-08 15:07:59 +01:00
2026-03-24 20:12:29 +00:00
2026-03-06 12:43:09 -08:00
2026-02-12 13:33:18 -08:00
2025-07-29 09:58:57 +02:00
2025-07-29 09:58:57 +02:00
2026-02-12 13:33:18 -08:00
2026-02-12 13:33:18 -08:00
2026-02-12 13:33:18 -08:00
2026-02-12 13:33:18 -08:00
2025-08-12 09:56:51 +09:00
2025-12-02 18:23:17 +00:00
2025-10-13 17:22:48 -07:00
2025-08-15 12:06:47 -07:00
2026-02-15 20:10:10 +00:00
2025-12-22 11:13:56 +01:00
2026-03-04 18:00:42 +09:00
2025-03-20 18:18:03 -07:00
2025-08-27 11:39:26 +01:00
2026-03-16 09:11:54 -07:00
2026-03-18 10:30:00 +09:00
2025-07-03 11:01:36 +01:00
2025-09-30 08:28:56 +01:00
2025-06-24 11:40:47 -07:00
2026-03-05 11:13:43 -08:00
2025-06-24 11:40:47 -07:00
2025-06-24 11:40:47 -07:00
2025-08-07 13:07:04 -07:00
2026-03-04 18:00:42 +09:00
2025-07-22 15:34:23 -07:00
2025-08-08 11:09:34 +02:00
2025-10-08 11:52:18 -07:00
2026-02-19 09:14:29 -08:00
2026-02-06 12:41:39 -08:00
2026-02-06 12:41:39 -08:00
2025-06-24 11:40:47 -07:00
2026-01-25 18:24:12 -05:00
2026-03-17 11:21:39 +00:00
2025-11-17 10:39:18 +00:00
2025-07-21 09:17:29 -07:00
2026-02-03 17:02:53 +09:00
2026-02-25 14:04:42 +01:00
2025-07-21 09:17:29 -07:00
2025-07-01 15:13:08 -07:00
2026-01-15 08:39:42 +00:00
2026-01-08 09:28:14 +09:00
2026-01-08 09:28:14 +09:00
2026-03-09 22:54:25 +00:00
2026-03-10 19:15:53 -07:00
2026-01-12 09:25:54 +00:00
2026-03-09 22:54:25 +00:00
2025-10-16 15:01:57 +00:00
2026-01-08 15:07:59 +01:00
2026-03-06 09:05:51 +01:00
2026-03-06 09:05:51 +01:00
2025-10-13 16:50:53 +01:00
2026-03-25 17:34:59 +00:00
2025-10-07 23:52:25 +00:00
2025-08-15 12:06:47 -07:00
2025-11-24 09:27:25 +08:00
2025-04-03 11:14:08 +01:00
2026-01-28 20:45:04 +09:00
2026-01-08 16:19:44 -08:00
2025-11-20 08:57:08 +00:00
2025-10-22 11:43:44 +01:00
2026-01-14 12:26:10 +00:00
2025-06-24 11:40:47 -07:00
2026-03-04 18:00:42 +09:00
2026-03-04 18:00:42 +09:00
2025-07-30 13:04:02 -07:00
2025-11-05 01:35:15 +00:00
2025-07-09 09:25:53 +09:00
2026-01-09 08:51:06 -08:00
2026-03-20 16:23:18 +01:00
2025-09-10 21:33:44 +00:00
2026-02-12 13:33:18 -08:00
2025-03-31 11:36:32 -07:00
2026-03-16 21:06:40 +09:00