Alex Bradbury
c44c1e9d3e
[RISCV] Implement isMaskAndCmp0FoldingBeneficial hook
...
This hook is currently only used by CodeGenPrepare, which will sink *and
duplicate* an 'and' into a block that has an 'icmp 0' user of it if the
hook returns true.
This hook is less useful for RISC-V than for targets like AArch64 that
have a TBZ (test bit and branch if zero instruction), but may still be
profitable if Zbs is available and a BEXTI can be selected.
Conservatively, we return false even if Zbs is enabled for any masks
that fit in the ANDI immediate because it's possible the only use is a
branch on the result, and ANDI+BNEZ => BEXTI+BNEZ isn't a profitable
transformation.
Differential Revision: https://reviews.llvm.org/D131492
2022-09-13 18:54:00 +01:00
..
2022-06-22 12:26:12 +02:00
2022-06-22 12:47:12 +02:00
2022-09-12 08:23:07 +02:00
2022-06-22 13:57:47 +02:00
2022-07-26 16:30:08 +08:00
2022-09-07 11:36:01 +02:00
2022-09-11 21:37:54 -07:00
2022-07-15 10:18:17 +02:00
2022-07-17 14:24:36 -07:00
2022-07-15 10:18:17 +02:00
2022-09-13 18:54:00 +01:00
2022-07-27 09:37:59 -07:00
2022-06-24 09:27:14 +02:00
2022-08-26 05:49:52 -07:00
2022-09-01 13:18:17 +01:00
2022-08-23 13:45:10 +01:00
2022-09-07 19:20:13 -07:00
2022-07-03 14:34:03 +01:00
2022-08-20 10:16:06 -04:00
2022-07-17 21:43:00 -07:00
2022-06-22 10:28:27 +02:00
2022-08-04 08:45:27 -07:00
2022-06-29 16:14:41 -05:00
2022-09-02 11:33:07 +01:00
2022-06-29 13:41:59 +07:00
2022-09-12 19:41:17 +08:00
2022-07-05 16:57:46 +02:00
2022-09-13 12:56:35 +07:00
2022-08-19 11:37:20 -07:00
2022-08-10 14:15:46 -06:00
2022-08-24 16:07:24 -07:00
2022-09-13 11:35:18 +01:00
2022-09-06 08:19:30 -04:00
2022-06-27 10:48:45 +00:00
2022-07-22 08:24:32 -04:00
2022-09-12 16:01:25 +07:00
2022-07-15 10:18:17 +02:00
2022-09-02 12:22:45 +02:00
2022-09-04 22:26:18 +01:00
2022-09-09 09:47:30 -07:00
2022-07-26 13:08:42 +08:00
2022-07-23 21:50:11 +01:00
2022-08-26 11:00:09 +01:00
2022-08-19 14:51:19 +07:00
2022-09-07 07:42:00 -04:00
2022-08-03 19:59:01 -04:00
2022-09-02 13:11:25 +01:00
2022-09-09 13:45:14 -04:00
2022-09-09 13:45:14 -04:00
2022-08-30 09:29:52 -07:00
2022-07-19 15:54:12 +07:00
2022-07-23 21:50:11 +01:00
2022-09-09 13:45:14 -04:00
2022-09-13 13:46:52 +01:00
2022-07-23 21:50:11 +01:00
2022-07-25 17:29:00 -04:00
2022-09-02 15:50:25 -07:00
2022-07-17 15:03:46 -07:00
2022-07-12 12:53:08 +02:00
2022-08-30 13:27:51 +01:00
2022-07-03 14:34:03 +01:00
2022-07-17 14:24:36 -07:00
2022-08-17 18:57:46 -07:00
2022-07-21 22:52:46 -05:00
2022-09-11 21:37:54 -07:00
2022-09-01 14:13:50 -07:00
2022-09-13 09:20:25 -07:00
2022-09-12 12:28:34 -04:00
2022-08-09 09:36:39 +02:00
2022-08-16 17:47:30 +03:00
2022-08-26 20:24:10 +00:00
2022-06-30 21:47:31 +01:00
2022-09-07 11:56:29 -04:00
2022-07-22 15:20:53 +01:00
2022-09-09 13:45:14 -04:00
2022-09-13 09:23:39 -07:00
2022-09-13 09:20:25 -07:00
2022-09-12 09:55:37 -07:00
2022-09-11 01:31:03 -07:00
2022-08-23 11:22:24 +01:00
2022-08-24 22:41:38 +00:00
2022-09-05 09:01:23 +01:00
2022-07-14 10:33:52 -05:00
2022-08-16 15:11:00 -04:00
2022-07-16 13:23:39 +01:00
2022-07-03 14:34:03 +01:00