Philip Reames
d6394d86ca
[cgp] improve robustness of uadd/usub transforms
...
LSR prefers to schedule iv increments just before the latch. The recent 80511565 broadened this to moving increments in the original IR. This pointed out a robustness problem with the CGP transform.
When we have a use of an induction increment outside of the loop (we canonicalize away from this form, but it happens e.g. unanalyzeable loops) we'd avoid performing the uadd/usub transform. Interestingly, all of these involve moving the increment closer to it's operands, so there's no concern about dominating all uses. We can handle that case cheaply, resulting in a more robust transform.
2021-03-09 11:52:08 -08:00
..
2021-03-05 11:09:14 +00:00
2021-01-18 15:55:00 +00:00
2021-03-04 10:34:30 -08:00
2020-12-30 14:40:50 -08:00
2021-01-02 01:01:19 +03:00
2021-02-20 12:17:46 +00:00
2020-12-23 22:47:36 +07:00
2020-12-30 14:40:50 -08:00
2021-01-02 01:01:19 +03:00
2020-12-30 14:40:50 -08:00
2021-02-20 12:17:46 +00:00
2021-01-02 01:01:19 +03:00
2021-03-04 16:47:43 +07:00
2020-12-30 14:40:50 -08:00
2020-12-08 15:36:48 +00:00
2021-02-05 11:36:54 +08:00
2021-01-11 08:32:36 -08:00
2020-12-30 14:40:50 -08:00
2021-01-11 08:32:36 -08:00
2021-01-29 14:22:10 +00:00
2021-01-11 19:58:47 -08:00
2020-12-30 14:40:50 -08:00
2021-02-20 12:13:06 +00:00
2020-12-18 15:49:53 +00:00
2020-12-16 12:41:49 -08:00
2020-12-30 14:40:50 -08:00
2021-02-02 11:41:18 +00:00
2021-02-05 11:36:54 +08:00
2021-02-21 14:40:54 +00:00
2021-02-26 11:46:12 +00:00
2021-01-11 09:32:49 -08:00
2021-01-06 09:50:46 -08:00
2021-01-06 09:50:46 -08:00
2021-01-14 17:51:23 +00:00
2021-02-26 11:46:12 +00:00
2020-12-13 12:02:07 -08:00
2021-02-05 11:36:54 +08:00
2021-01-22 15:47:23 +00:00
2020-12-18 15:49:53 +00:00
2021-01-20 18:16:33 +00:00
2020-12-30 14:40:50 -08:00
2020-12-15 17:35:32 +00:00
2020-12-30 14:40:50 -08:00
2020-12-23 11:35:44 -08:00
2021-02-16 16:27:16 -08:00
2020-12-23 11:35:44 -08:00
2020-12-23 11:35:44 -08:00
2020-12-23 11:35:44 -08:00
2020-12-23 11:35:44 -08:00
2021-01-02 01:01:19 +03:00
2021-02-11 11:14:10 -08:00
2021-02-16 16:27:16 -08:00
2020-12-23 11:35:44 -08:00
2021-02-16 16:27:16 -08:00
2021-01-29 18:47:26 -08:00
2021-02-16 16:27:16 -08:00
2021-02-16 16:27:16 -08:00
2021-02-17 11:42:43 +00:00
2020-12-16 15:45:47 -08:00
2020-12-23 22:47:36 +07:00
2021-01-11 09:32:49 -08:00
2020-12-30 14:40:50 -08:00
2020-12-17 10:25:25 +00:00
2020-12-16 12:41:49 -08:00
2020-12-30 14:40:50 -08:00
2021-01-11 19:58:47 -08:00
2021-01-29 14:22:10 +00:00
2021-01-13 14:58:50 +00:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-23 11:35:44 -08:00
2020-12-23 11:35:44 -08:00
2020-12-08 15:36:47 +00:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2021-01-07 12:03:19 +00:00
2020-12-30 14:40:50 -08:00
2021-01-02 01:01:19 +03:00
2021-03-02 11:24:07 +01:00
2021-02-10 14:25:24 +00:00
2021-03-04 10:44:38 +00:00
2021-03-04 10:44:38 +00:00
2021-02-18 11:38:41 +00:00
2021-03-07 09:48:42 -08:00
2021-02-21 21:51:27 +00:00
2021-01-18 10:29:23 +00:00
2020-12-30 14:40:50 -08:00
2021-01-11 08:32:36 -08:00
2021-01-20 16:30:39 +05:30
2020-12-30 14:40:50 -08:00
2020-12-18 02:21:42 +00:00
2020-12-30 14:40:50 -08:00
2020-12-24 20:08:50 +07:00
2021-01-02 01:01:19 +03:00
2021-01-06 09:50:46 -08:00
2021-02-15 14:27:12 +08:00
2021-02-16 14:23:40 -08:00
2021-02-26 16:38:44 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2021-03-09 10:54:41 +00:00
2021-01-26 12:28:23 -08:00
2020-12-16 14:48:21 +00:00
2021-01-22 16:05:19 +00:00
2020-12-16 14:48:21 +00:00
2021-01-11 09:32:49 -08:00
2021-01-11 08:32:36 -08:00
2021-01-11 08:32:36 -08:00
2020-12-16 12:41:49 -08:00
2021-01-11 08:32:36 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 18:47:26 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2021-01-12 15:44:41 +01:00
2021-01-12 15:44:41 +01:00
2020-12-30 14:40:50 -08:00
2020-12-23 11:35:44 -08:00
2021-02-05 21:45:21 -08:00
2020-12-30 14:40:50 -08:00
2021-01-25 15:35:36 +00:00
2021-01-22 11:31:38 +00:00
2021-01-22 15:47:23 +00:00
2021-01-18 10:14:45 +00:00
2021-01-22 11:43:18 +00:00
2020-12-16 12:41:49 -08:00
2020-12-16 12:41:49 -08:00
2020-12-30 14:40:50 -08:00
2021-01-11 11:29:04 +00:00
2021-01-11 11:29:04 +00:00
2021-02-09 14:18:45 +00:00
2020-12-17 18:41:12 -08:00
2020-12-30 14:40:50 -08:00
2021-01-02 01:01:19 +03:00
2020-12-30 14:40:50 -08:00
2021-01-21 11:15:16 +07:00
2021-01-11 09:32:49 -08:00
2021-02-03 14:14:35 +00:00
2021-01-06 09:50:46 -08:00
2021-02-20 12:07:02 +00:00
2021-02-21 14:40:54 +00:00
2021-03-09 10:54:41 +00:00
2020-12-30 14:40:50 -08:00
2020-12-30 16:57:50 -08:00
2021-01-11 12:32:18 -08:00
2020-12-30 14:40:50 -08:00
2021-02-11 19:49:23 +07:00
2020-12-30 14:40:50 -08:00
2021-01-11 08:32:36 -08:00
2021-01-11 15:27:08 +00:00
2021-02-11 11:23:43 -08:00
2021-03-04 10:44:38 +00:00
2021-03-04 10:44:38 +00:00
2021-03-03 15:50:37 +00:00
2020-12-08 17:15:22 -05:00
2021-03-04 10:44:38 +00:00
2021-01-25 15:35:36 +00:00
2021-03-04 10:44:38 +00:00
2021-01-11 08:32:36 -08:00
2021-02-21 14:40:54 +00:00
2021-02-21 14:40:54 +00:00
2021-02-21 14:40:54 +00:00
2021-02-21 14:40:54 +00:00
2021-01-14 10:47:33 -08:00
2020-12-30 14:40:50 -08:00
2021-02-21 14:40:54 +00:00
2021-01-21 13:01:34 +00:00
2020-12-08 18:56:21 +08:00
2020-12-23 22:47:36 +07:00
2021-01-07 12:03:19 +00:00
2020-12-30 14:40:50 -08:00
2021-03-01 10:08:10 -08:00
2020-12-30 14:40:50 -08:00
2021-03-06 15:25:47 +03:00
2021-02-15 13:39:43 +00:00
2020-12-30 14:40:50 -08:00
2021-01-13 11:51:48 +07:00
2021-03-05 11:09:14 +00:00
2021-03-01 10:42:11 +00:00
2020-12-18 15:49:53 +00:00
2021-03-05 11:09:14 +00:00
2021-02-26 17:23:12 +07:00
2021-03-04 16:47:43 +07:00
2020-12-30 14:40:50 -08:00
2020-12-16 22:39:57 +00:00
2020-12-30 14:40:50 -08:00
2021-01-20 14:34:54 +00:00
2021-02-20 12:17:46 +00:00
2020-12-30 14:40:50 -08:00
2020-12-23 22:47:36 +07:00
2020-12-15 10:11:38 +00:00
2020-12-30 14:40:50 -08:00
2021-01-11 09:32:49 -08:00
2021-01-11 08:32:36 -08:00
2020-12-30 14:40:50 -08:00
2021-01-11 09:32:49 -08:00
2021-01-11 09:32:49 -08:00
2021-01-11 09:32:49 -08:00
2021-01-11 09:32:49 -08:00
2020-12-30 14:40:50 -08:00
2021-03-01 10:42:11 +00:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-23 22:47:36 +07:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2021-02-21 14:50:43 +00:00
2020-12-30 14:40:50 -08:00
2021-01-11 08:32:36 -08:00
2020-12-15 10:11:38 +00:00
2021-01-26 13:18:04 -08:00
2021-01-13 10:38:23 +00:00
2021-01-26 13:18:04 -08:00
2021-02-09 11:36:13 +07:00
2021-02-13 12:00:08 +00:00
2021-03-04 22:48:25 -08:00
2021-03-09 13:32:34 +08:00
2021-03-09 18:46:38 +01:00
2021-03-07 11:17:03 +00:00
2021-01-29 14:22:10 +00:00
2021-02-21 15:26:54 +00:00
2020-12-23 22:47:36 +07:00
2020-12-30 14:40:50 -08:00
2021-02-18 15:39:00 -08:00
2020-12-30 14:40:50 -08:00
2021-03-04 10:44:38 +00:00
2021-03-04 10:44:38 +00:00
2020-12-16 12:41:49 -08:00
2021-01-18 10:29:23 +00:00
2021-03-04 10:44:38 +00:00
2021-02-18 13:15:20 -08:00
2021-01-13 09:36:52 +09:00
2021-03-02 09:25:10 -05:00
2020-12-30 14:40:50 -08:00
2021-02-28 12:58:00 -08:00
2021-01-29 14:22:10 +00:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-15 10:11:38 +00:00
2020-12-30 14:40:50 -08:00
2021-01-11 09:32:49 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-12 16:37:28 -08:00
2020-12-30 14:40:50 -08:00
2021-01-11 02:25:53 +00:00
2021-01-11 02:25:53 +00:00
2021-02-20 12:10:58 +00:00
2021-02-21 14:40:54 +00:00
2020-12-16 12:41:49 -08:00
2021-02-20 12:11:50 +00:00
2020-12-16 12:41:49 -08:00
2021-01-11 09:32:49 -08:00
2020-12-16 12:41:49 -08:00
2021-03-04 10:44:38 +00:00
2020-12-22 06:51:19 -05:00
2021-02-19 18:35:14 +00:00
2021-03-01 10:23:53 +07:00
2021-01-13 11:51:48 +07:00
2021-01-13 11:51:48 +07:00
2020-12-10 17:01:54 +08:00
2020-12-10 17:01:54 +08:00
2021-02-03 10:41:14 +07:00
2021-01-18 15:20:54 +03:00
2021-03-01 17:23:02 +07:00
2021-03-01 17:23:02 +07:00
2021-03-01 17:23:02 +07:00
2020-12-08 15:36:49 +00:00
2020-12-30 14:40:50 -08:00
2020-12-08 15:36:47 +00:00
2021-02-21 21:25:26 +00:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2021-03-09 10:54:41 +00:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-08 18:56:21 +08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-30 14:40:50 -08:00
2020-12-15 10:11:38 +00:00
2021-03-04 15:22:55 +07:00
2021-02-16 17:37:44 +00:00
2020-12-08 10:28:26 +00:00
2021-01-29 14:22:10 +00:00
2021-01-29 14:22:10 +00:00
2021-01-21 13:01:34 +00:00
2020-12-30 14:40:50 -08:00
2021-03-09 11:52:08 -08:00
2021-03-07 09:48:42 -08:00
2021-02-13 13:21:15 +00:00
2021-03-07 09:48:42 -08:00
2021-01-25 15:35:36 +00:00
2021-03-06 15:25:47 +03:00
2021-02-19 17:30:10 +08:00
2021-03-04 10:44:38 +00:00
2021-03-04 10:44:38 +00:00
2021-02-27 21:16:42 -08:00
2021-02-26 12:10:23 +00:00
2021-02-23 13:34:06 +00:00
2021-02-28 08:26:22 -08:00
2021-02-23 13:34:06 +00:00
2020-12-30 14:40:50 -08:00
2021-02-01 10:31:43 +00:00
2021-02-20 12:16:54 +00:00
2021-02-01 10:31:43 +00:00
2021-02-07 13:27:57 +00:00
2021-02-07 13:27:57 +00:00
2021-02-07 13:27:57 +00:00
2020-12-16 12:41:49 -08:00
2020-12-18 11:51:10 +00:00
2020-12-16 12:41:49 -08:00
2021-02-07 13:27:57 +00:00
2021-02-07 13:27:57 +00:00
2021-02-07 13:27:57 +00:00
2021-03-07 12:56:35 +00:00
2021-02-07 11:42:41 +00:00
2020-12-16 12:41:49 -08:00
2021-02-21 14:40:54 +00:00
2021-01-09 11:43:32 -08:00
2021-01-13 10:38:23 +00:00
[X86] Fold CONCAT(VPERMV3(X,Y,M0),VPERMV3(Z,W,M1)) -> VPERMV3(CONCAT(X,Z),CONCAT(Y,W),CONCAT(M0,M1))
2020-12-09 14:29:32 +00:00
2021-03-04 10:44:38 +00:00
2021-01-25 15:35:36 +00:00
2021-02-21 14:40:54 +00:00
2021-02-21 14:40:54 +00:00
2021-02-04 13:32:08 -05:00
2021-01-19 14:28:44 +00:00
2021-02-04 13:32:08 -05:00
2021-01-19 14:28:44 +00:00
2020-12-16 11:24:40 +00:00
2021-01-25 15:35:36 +00:00
2021-02-21 14:40:54 +00:00
2021-01-25 15:35:36 +00:00
2021-02-21 14:40:54 +00:00
2020-12-18 11:51:10 +00:00
2021-02-07 11:42:41 +00:00
2021-03-07 12:56:35 +00:00
2020-12-08 15:36:50 +00:00
2020-12-08 15:36:50 +00:00
2021-03-07 12:56:35 +00:00
2020-12-08 15:36:50 +00:00
2020-12-08 15:36:50 +00:00
2020-12-08 15:36:50 +00:00
2020-12-18 11:51:10 +00:00
2020-12-08 15:36:50 +00:00
2021-01-22 10:05:22 +00:00
2021-01-22 16:05:19 +00:00
2021-01-22 15:47:23 +00:00
2021-01-25 15:35:36 +00:00
2020-12-15 10:11:38 +00:00
2020-12-15 10:11:38 +00:00
2020-12-15 10:11:38 +00:00
2021-02-26 16:13:14 +00:00
2021-01-22 13:19:35 +00:00
2021-02-10 10:26:44 +00:00
2021-02-17 10:57:00 +00:00
2020-12-13 17:18:07 +00:00
2021-02-21 14:40:54 +00:00
2021-01-25 15:35:36 +00:00
2021-01-11 08:32:36 -08:00
2021-03-09 13:57:03 +00:00
2021-02-21 14:40:54 +00:00
2020-12-30 14:40:50 -08:00
2020-12-07 09:35:12 +02:00
2021-01-25 10:39:27 -08:00
2021-02-15 14:27:12 +08:00
2021-03-06 15:25:47 +03:00
2020-12-14 16:34:37 -05:00
2020-12-14 16:34:37 -05:00
2020-12-30 14:40:50 -08:00
2021-03-06 15:25:47 +03:00
2021-02-05 11:36:54 +08:00
2020-12-13 17:18:07 +00:00
2020-12-14 16:34:37 -05:00
2020-12-14 16:34:37 -05:00
2020-12-14 16:34:37 -05:00
2021-02-01 16:19:14 -08:00
2021-02-01 15:24:41 -08:00
2021-02-01 15:24:41 -08:00
2020-12-18 15:49:53 +00:00
2021-03-06 15:25:47 +03:00
2021-02-24 11:09:02 +00:00
2020-12-30 14:40:50 -08:00
2021-02-21 14:40:54 +00:00
2021-01-25 00:49:18 -08:00
2020-12-30 14:40:50 -08:00