Fraser Cormack
f924a3d474
[SelectionDAG] Support scalable-vector splats in yet more cases
...
This patch extends support for (scalable-vector) splats in the
DAGCombiner via the `ISD::matchBinaryPredicate` function, which enable a
variety of simple combines of constants.
Users of this function may now have to distinguish between
`BUILD_VECTOR` and `SPLAT_VECTOR` vector operands. The way of dealing
with this in-tree follows the approach added for
`ISD::matchUnaryPredicate` implemented in D94501.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D106575
2021-07-26 10:15:08 +01:00
..
2021-07-26 10:15:08 +01:00
2021-07-20 09:22:06 -07:00
2021-04-26 13:26:17 +08:00
2020-12-18 21:03:37 +00:00
2021-06-29 09:45:13 -07:00
2020-12-09 19:42:49 +00:00
2021-06-27 10:33:43 -07:00
2021-04-11 13:59:51 -07:00
2021-07-19 09:25:28 -07:00
2020-11-25 21:57:48 -08:00
2020-12-09 19:42:49 +00:00
2021-06-03 11:34:35 -07:00
2020-12-09 19:42:49 +00:00
2021-01-27 20:46:10 -08:00
2021-05-20 20:34:23 +01:00
2021-01-30 07:20:05 +08:00
2021-03-15 11:32:43 -07:00
2021-06-27 12:37:29 -07:00
2020-12-09 19:42:49 +00:00
2021-01-14 22:35:17 +00:00
2021-01-14 22:35:17 +00:00
2021-01-14 22:35:17 +00:00
2021-04-02 10:18:08 -07:00
2021-01-14 22:35:17 +00:00
2021-01-14 22:35:17 +00:00
2021-01-14 22:35:17 +00:00
2021-01-14 22:35:17 +00:00
2021-01-14 22:35:17 +00:00
2021-01-14 22:35:17 +00:00
2021-01-14 22:35:17 +00:00
2021-01-14 22:35:17 +00:00
2021-01-14 22:35:17 +00:00
2021-01-05 10:41:08 -08:00
2021-07-22 09:55:26 +01:00
2021-07-13 09:46:21 -07:00
2020-12-04 10:34:12 -08:00
2021-06-30 16:54:13 -04:00
2021-06-27 10:33:43 -07:00
2021-06-30 16:54:13 -04:00
2021-07-20 08:53:55 -07:00
2020-11-25 15:07:34 -08:00
2021-04-01 09:12:52 -07:00
2021-01-19 11:21:48 -08:00
2020-12-09 19:42:49 +00:00
2021-07-24 10:50:43 -07:00
2021-01-12 10:45:03 -08:00
2020-12-09 19:42:49 +00:00
2021-07-06 11:43:22 -07:00
2020-12-10 09:15:52 -08:00
2021-07-20 09:22:06 -07:00
2020-12-09 19:42:49 +00:00
2021-01-14 13:41:40 -08:00
2021-01-25 16:37:21 -08:00
2021-05-11 11:29:45 -07:00
2020-12-09 19:42:49 +00:00
2021-07-22 09:55:26 +01:00
2020-12-09 19:42:49 +00:00
2021-06-17 09:51:09 -07:00
2021-06-17 09:51:09 -07:00
2020-11-25 15:07:34 -08:00
2021-04-01 09:12:52 -07:00
2021-01-19 11:21:48 -08:00
2021-07-24 10:50:43 -07:00
2021-01-12 10:45:03 -08:00
2020-12-09 19:42:49 +00:00
2021-07-06 11:43:22 -07:00
2020-12-10 09:15:52 -08:00
2021-07-20 09:22:06 -07:00
2021-01-14 13:41:40 -08:00
2020-12-30 15:28:11 -08:00
2021-04-01 12:41:57 -07:00
2020-12-09 19:42:49 +00:00
2021-04-22 15:04:55 +07:00
2021-01-15 11:14:14 -08:00
2020-12-09 19:42:49 +00:00
2020-12-09 19:42:49 +00:00
2020-12-09 19:42:49 +00:00
2020-12-09 19:42:49 +00:00
2020-12-02 21:13:42 -08:00
2021-04-01 12:41:57 -07:00
2021-01-19 11:21:48 -08:00
2021-07-24 10:50:43 -07:00
2021-01-12 10:45:03 -08:00
2020-12-03 09:16:33 +08:00
2021-07-06 11:43:22 -07:00
2020-12-10 09:15:52 -08:00
2021-07-20 09:22:06 -07:00
2021-01-14 13:41:40 -08:00
2021-03-15 11:32:43 -07:00
2021-07-20 09:22:06 -07:00
2020-12-09 19:42:49 +00:00
2020-12-09 19:42:49 +00:00
2020-12-09 19:42:49 +00:00
2021-07-13 09:30:09 -07:00
2020-12-09 19:42:49 +00:00
2020-12-09 19:42:49 +00:00
2020-12-09 19:42:49 +00:00
2021-06-23 15:38:11 -07:00
2021-03-21 18:54:00 +08:00
2020-12-30 15:28:11 -08:00
2020-12-30 15:28:11 -08:00
2020-12-05 14:54:37 -08:00
2021-04-01 10:15:55 -07:00
2020-11-20 17:58:26 -05:00
2021-01-18 17:30:35 +00:00
2021-01-23 09:10:03 +00:00
2021-05-29 15:11:37 +01:00
2021-07-20 08:53:55 -07:00
2020-12-09 19:42:49 +00:00
2020-12-09 19:42:49 +00:00
2021-04-01 12:41:57 -07:00
2021-07-22 10:28:41 +08:00
2021-04-02 11:50:19 -07:00
[RISCV] Teach DAG combine to fold (and (select_cc lhs, rhs, cc, -1, c), x) -> (select_cc lhs, rhs, cc, x, (and, x, c))
2021-04-29 09:43:51 -07:00
2021-03-22 19:17:04 -07:00
2021-04-02 12:09:13 -07:00
2021-04-25 19:14:34 -07:00
2021-04-25 21:54:06 -07:00
2021-07-20 08:53:55 -07:00
2021-04-02 10:58:45 -07:00
2021-06-08 07:26:00 +08:00
[RISCV] Teach DAG combine to fold (and (select_cc lhs, rhs, cc, -1, c), x) -> (select_cc lhs, rhs, cc, x, (and, x, c))
2021-04-29 09:43:51 -07:00
2021-07-20 09:22:06 -07:00
2021-07-24 10:50:43 -07:00
2021-07-24 10:50:43 -07:00
2021-07-24 10:50:43 -07:00
2020-12-09 19:42:49 +00:00
2020-12-09 19:42:49 +00:00
2021-07-20 08:53:55 -07:00
2021-06-17 09:38:28 +02:00
2021-03-20 14:55:46 -07:00
2021-02-22 14:56:22 -08:00
2021-07-22 10:28:41 +08:00
2021-04-04 17:14:28 -07:00
2021-07-19 09:25:28 -07:00
2021-06-27 10:33:43 -07:00
2021-04-02 12:09:13 -07:00
2021-04-25 21:54:06 -07:00
2021-04-25 21:54:06 -07:00
2021-07-20 09:22:06 -07:00
2021-04-02 10:58:45 -07:00
2021-06-08 07:26:00 +08:00
2021-03-22 19:17:04 -07:00
2021-04-07 13:47:17 -07:00
2021-04-07 13:47:17 -07:00
2021-04-16 12:54:47 +08:00
2021-02-09 15:52:04 +08:00
2021-01-21 12:07:44 -08:00
2021-01-21 12:07:44 -08:00
[RISCV] Teach DAG combine to fold (and (select_cc lhs, rhs, cc, -1, c), x) -> (select_cc lhs, rhs, cc, x, (and, x, c))
2021-04-29 09:43:51 -07:00
2021-03-12 11:50:10 -08:00
2021-01-21 12:07:44 -08:00
2021-01-22 14:51:22 -08:00
2021-01-18 17:30:35 +00:00
2021-01-21 12:07:44 -08:00
2021-01-25 16:37:21 -08:00
2021-01-25 16:37:21 -08:00
2020-12-09 19:42:49 +00:00
2021-01-27 20:46:10 -08:00
2020-12-09 19:42:49 +00:00
2020-12-09 19:42:49 +00:00
2021-07-23 09:12:05 -07:00
2020-12-09 19:42:49 +00:00
2021-07-20 08:53:55 -07:00
2021-07-23 09:12:05 -07:00
2021-04-01 09:12:52 -07:00
2021-04-07 13:47:17 -07:00
2021-04-07 13:47:17 -07:00
2021-01-15 11:14:14 -08:00
2021-03-21 18:54:00 +08:00
2021-04-29 09:10:48 +01:00
2020-12-09 19:42:49 +00:00
2021-07-13 09:46:21 -07:00
2020-12-09 19:42:49 +00:00
2021-03-16 07:44:06 -07:00
2021-03-16 07:44:06 -07:00
2020-12-09 19:42:49 +00:00
2021-07-20 09:22:06 -07:00
2021-06-27 10:33:43 -07:00
2021-06-27 10:33:43 -07:00
2021-03-16 07:44:06 -07:00
2021-03-16 07:44:06 -07:00
2021-03-21 18:54:00 +08:00
2021-06-27 10:33:43 -07:00
2021-06-30 16:54:13 -04:00
2021-07-19 09:25:28 -07:00
2020-12-30 15:28:11 -08:00
2020-12-03 09:16:33 +08:00