Simon Pilgrim
38200e94f1
[DAG] visitFREEZE - always allow freezing multiple operands ( #145939 )
...
Always try to fold freeze(op(....)) -> op(freeze(),freeze(),freeze(),...).
This patch proposes we drop the opt-in limit for opcodes that are allowed to push a freeze through the op to freeze all its operands, through the tree towards the roots.
I'm struggling to find a strong reason for this limit apart from the DAG freeze handling being immature for so long - as we've improved coverage in canCreateUndefOrPoison/isGuaranteedNotToBeUndefOrPoison it looks like the regressions are not as severe.
Hopefully this will help some of the regression issues in #143102 etc.
2025-07-02 11:28:37 +01:00
..
2025-06-17 10:51:07 -07:00
2025-07-01 17:09:37 +08:00
2025-06-05 15:28:04 +08:00
2025-06-29 21:28:42 +03:00
2025-06-05 15:28:04 +08:00
2025-06-02 22:24:50 +01:00
2025-06-06 11:08:23 +08:00
2025-06-06 11:08:23 +08:00
2025-06-05 15:28:04 +08:00
2025-05-13 09:12:24 +02:00
2025-06-02 22:24:50 +01:00
2025-03-28 19:23:56 +00:00
2025-06-02 22:24:50 +01:00
2025-06-05 17:48:35 -07:00
2025-03-28 19:23:56 +00:00
2025-03-28 19:23:56 +00:00
2025-04-28 08:35:51 -07:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-05-21 08:26:35 -07:00
2025-07-01 08:01:06 +10:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-03-27 19:31:38 -03:00
2025-03-07 09:23:50 +08:00
2025-06-02 22:24:50 +01:00
2025-03-27 19:31:38 -03:00
2025-06-24 15:45:06 -07:00
2025-05-09 08:41:14 -07:00
2025-06-02 22:24:50 +01:00
2025-06-20 11:23:00 +02:00
2025-06-02 22:24:50 +01:00
2025-04-23 17:36:00 -07:00
2025-06-02 22:24:50 +01:00
2025-03-28 19:23:56 +00:00
2025-03-28 19:23:56 +00:00
2025-06-02 22:24:50 +01:00
2025-03-28 19:23:56 +00:00
2025-05-30 18:55:32 +02:00
2025-06-02 22:24:50 +01:00
2025-04-08 19:34:03 -07:00
2025-06-21 10:18:49 -07:00
2025-03-28 19:23:56 +00:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-04-22 17:14:25 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-05-27 21:52:20 -07:00
2025-05-27 21:52:20 -07:00
2025-03-27 19:31:38 -03:00
2025-05-15 08:35:43 -07:00
2025-06-02 22:24:50 +01:00
2025-06-10 10:46:29 +09:00
2025-06-10 10:46:29 +09:00
2025-05-27 21:52:20 -07:00
2025-03-17 16:39:51 +08:00
2025-05-28 14:59:28 -07:00
2025-05-15 08:35:43 -07:00
2025-05-27 21:52:20 -07:00
2025-06-26 09:46:14 -07:00
2025-04-08 10:11:20 -07:00
2025-03-28 07:06:17 -07:00
2025-04-14 14:48:47 +08:00
2025-06-25 15:46:45 -07:00
2025-03-27 19:31:38 -03:00
2025-06-27 11:49:08 +01:00
2025-06-10 10:46:29 +09:00
2025-06-10 10:46:29 +09:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-26 09:46:14 -07:00
2025-05-27 21:52:20 -07:00
2025-06-02 22:24:50 +01:00
2025-06-11 15:56:37 +08:00
2025-06-05 15:28:04 +08:00
2025-04-22 19:24:29 -07:00
2025-07-02 11:28:37 +01:00
2025-06-11 19:08:23 +07:00
2025-06-02 22:24:50 +01:00
2025-03-27 07:45:42 -07:00
2025-06-11 19:08:23 +07:00
2025-06-23 16:33:35 +09:00
2025-03-17 12:51:39 +08:00
2025-06-02 22:24:50 +01:00
2025-03-27 19:31:38 -03:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-26 09:46:14 -07:00
2025-04-08 19:34:03 -07:00
2025-05-13 07:46:16 +05:30
2025-06-02 22:24:50 +01:00
2025-06-18 16:11:18 +08:00
2025-06-02 22:24:50 +01:00
2025-04-29 08:12:32 -07:00
2025-06-03 08:44:13 +01:00
2025-05-06 18:01:17 -07:00
2025-06-18 17:48:10 -07:00
2025-07-02 11:28:37 +01:00
2025-03-28 19:23:56 +00:00
2025-04-08 19:42:43 -07:00
2025-06-02 22:24:50 +01:00
2025-06-05 15:28:04 +08:00
2025-03-07 09:21:36 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-03-28 19:23:56 +00:00
2025-03-10 13:22:59 +00:00
2025-06-02 11:21:41 -07:00
2025-06-29 21:28:42 +03:00
2025-03-28 19:23:56 +00:00
2025-06-02 22:24:50 +01:00
2025-05-23 11:37:42 -07:00
2025-06-18 16:11:18 +08:00
2025-06-18 16:11:18 +08:00
2025-06-02 22:24:50 +01:00
2025-04-22 17:36:41 -04:00
2025-05-16 09:40:11 +08:00
2025-05-16 09:40:11 +08:00
2025-06-02 22:24:50 +01:00
2025-06-12 02:24:10 +08:00
2025-05-14 11:48:59 +08:00
2025-06-17 17:21:24 +08:00
2025-06-17 17:21:24 +08:00
2025-06-02 22:24:50 +01:00
2025-03-26 11:14:16 -07:00
2025-05-23 18:44:15 -07:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-04-08 19:42:43 -07:00
2025-04-10 11:29:14 -04:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-03-28 19:23:56 +00:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-04-23 08:54:10 +03:00
2025-06-02 22:24:50 +01:00
2025-05-30 16:00:43 -07:00
2025-06-23 14:29:17 -07:00
2025-06-27 08:58:06 -07:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-03-19 11:09:49 -07:00
2025-04-23 17:36:00 -07:00
2025-04-28 08:12:45 -07:00
2025-06-10 19:10:48 +08:00
2025-03-18 08:25:49 -07:00
2025-03-28 07:06:17 -07:00
2025-04-08 10:11:20 -07:00
2025-06-02 22:24:50 +01:00
2025-05-12 13:34:46 +08:00
2025-04-28 10:07:51 +08:00
2025-04-28 10:07:51 +08:00
2025-05-16 14:20:53 +08:00
2025-03-07 10:52:04 +08:00
2025-06-02 22:24:50 +01:00
2025-06-11 13:32:49 +08:00
2025-05-10 11:16:39 +08:00
2025-04-29 22:33:40 +03:00
2025-05-12 10:41:53 +08:00
2025-05-29 12:33:36 -07:00
2025-03-19 06:06:13 +01:00
2025-06-05 15:28:04 +08:00
2025-03-28 19:23:56 +00:00
2025-06-27 11:49:08 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-07 23:51:08 +08:00
2025-06-02 22:24:50 +01:00
2025-06-11 13:32:49 +08:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-10 13:28:49 +02:00
2025-06-02 22:24:50 +01:00
2025-03-19 06:06:13 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-05 15:28:04 +08:00
2025-04-15 23:17:03 +02:00
2025-04-15 23:17:03 +02:00
2025-06-02 22:24:50 +01:00
2025-06-27 12:25:48 +05:30
2025-06-02 22:24:50 +01:00
2025-04-02 09:56:09 -07:00
2025-06-26 09:46:14 -07:00
2025-04-15 23:17:03 +02:00
2025-06-02 22:24:50 +01:00
2025-04-22 09:13:11 +08:00
2025-03-28 19:23:56 +00:00
2025-06-02 22:24:50 +01:00
2025-06-21 18:56:00 -07:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-27 10:54:41 +08:00
2025-04-25 17:12:27 -07:00
2025-04-28 19:35:11 -07:00
2025-06-02 22:24:50 +01:00
2025-03-28 19:23:56 +00:00
2025-06-02 22:24:50 +01:00
2025-03-28 19:23:56 +00:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-05 15:28:04 +08:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-03-28 19:23:56 +00:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-05 15:28:04 +08:00
2025-06-05 15:28:04 +08:00
2025-06-11 15:56:37 +08:00
2025-06-02 22:24:50 +01:00
2025-06-05 15:28:04 +08:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-02 22:24:50 +01:00
2025-06-05 15:28:04 +08:00
2025-07-02 11:28:37 +01:00
2025-05-06 09:57:07 +08:00
2025-06-29 21:28:42 +03:00
2025-04-07 23:45:54 +07:00
2025-05-16 09:40:11 +08:00
2025-04-23 17:36:00 -07:00
2025-04-23 17:36:00 -07:00
2025-04-23 17:36:00 -07:00
2025-04-22 15:40:03 +05:30
2025-05-22 08:57:26 +05:30
2025-06-24 07:11:46 +05:30
2025-06-19 13:29:57 +05:30
2025-06-27 12:25:48 +05:30
2025-04-16 06:48:56 +05:30
2025-04-16 11:19:13 +05:30
2025-06-25 22:30:07 -07:00
2025-06-05 15:28:04 +08:00
2025-04-23 14:47:42 -07:00
2025-04-07 20:47:21 +02:00
2025-06-02 22:24:50 +01:00
2025-03-28 19:23:56 +00:00
2025-05-16 09:40:11 +08:00
2025-04-23 17:36:00 -07:00
2025-05-15 08:35:43 -07:00
2025-05-14 12:35:49 -07:00
2025-05-15 08:35:43 -07:00
2025-05-15 08:34:18 -07:00
2025-04-21 11:02:04 +08:00
2025-06-13 08:57:46 -04:00
2025-06-05 15:28:04 +08:00