Florian Hahn
eaf48dd9b0
[VPlan] Replace BranchOnCount with BranchOnCond if TC <= UF * VF.
...
Try to simplify BranchOnCount to `BranchOnCond true` if TC <= UF * VF.
This is an alternative to D121899 which simplifies the VPlan directly
instead of doing so late in code-gen.
The potential benefit of doing this in VPlan is that this may help
cost-modeling in the future. The reason this is done in prepareToExecute
at the moment is that a single plan may be used for multiple VFs/UFs.
There are further simplifications that can be applied as follow ups:
1. Replace inductions with constants
2. Replace vector region with regular block.
Fixes #55354 .
Depends on D126679.
Reviewed By: Ayal
Differential Revision: https://reviews.llvm.org/D126680
2022-06-06 09:38:53 +01:00
..
2022-06-06 09:38:53 +01:00
2022-04-08 17:46:49 -07:00
2022-05-31 15:45:02 +02:00
2022-05-20 09:58:40 +01:00
2022-06-06 14:43:52 +08:00
2022-04-04 01:15:30 +02:00
2022-06-06 09:38:53 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2021-12-13 16:56:22 -08:00
2022-03-09 17:50:34 -05:00
2022-05-22 20:11:47 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-05-31 15:45:02 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-01-05 10:46:06 +00:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-05-20 09:58:40 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-05-21 16:01:38 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-06-03 11:48:31 +01:00
2022-05-30 17:04:42 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-05-16 15:27:22 +01:00
2022-04-28 16:46:00 +02:00
2022-01-08 20:46:31 +00:00
2022-04-04 01:15:30 +02:00
2022-06-03 11:48:31 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2021-12-20 15:10:41 +00:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-07 23:21:21 +02:00
2022-05-16 16:30:26 +02:00
2022-05-21 16:01:38 +01:00
2022-04-28 16:46:00 +02:00
2022-05-15 15:51:26 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2021-12-13 16:56:22 -08:00
2022-05-31 15:45:02 +02:00
2021-12-13 16:56:22 -08:00
2021-12-13 16:56:22 -08:00
2022-05-21 16:01:38 +01:00
2022-04-04 01:15:30 +02:00
2022-05-22 18:27:41 +01:00
2022-03-07 19:32:37 +03:00
2021-12-13 16:56:22 -08:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-02-23 15:57:39 +00:00
2021-12-20 16:23:29 +00:00
2022-05-16 15:27:22 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-05-16 15:27:22 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-03-07 19:32:37 +03:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-03-07 19:32:37 +03:00
2022-05-21 16:01:38 +01:00
2022-04-04 01:15:30 +02:00
2022-05-20 09:58:40 +01:00
2022-02-09 20:02:54 +00:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-02 19:34:32 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-06-01 21:19:03 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-05-15 21:52:07 +01:00
2022-05-21 16:01:38 +01:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-02-24 09:01:20 +01:00
2022-02-22 12:04:35 +00:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-02-24 09:01:20 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-05-19 20:36:46 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-05-16 15:27:22 +01:00
2022-05-16 15:27:22 +01:00
2022-05-16 15:27:22 +01:00
2022-05-16 15:27:22 +01:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-03-13 17:15:24 +00:00
2022-05-16 15:27:22 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-05-16 15:27:22 +01:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-04-28 16:46:00 +02:00
2022-03-07 19:32:37 +03:00
2022-05-19 12:28:01 +08:00
2021-12-13 16:56:22 -08:00
2022-01-24 13:04:09 +00:00
2022-04-28 16:46:00 +02:00
2022-04-04 01:15:30 +02:00
2022-04-09 14:19:47 +02:00
2022-04-04 01:15:30 +02:00
2022-06-03 11:48:31 +01:00
2022-06-03 11:48:31 +01:00
2022-06-03 11:48:31 +01:00
2022-06-03 11:48:31 +01:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-04 01:15:30 +02:00
2022-04-28 16:46:00 +02:00