David Sherwood
c42bb30b9e
[LoopVectorize] Permit fixed-width epilogue loops for scalable vector bodies
...
At the moment in LoopVectorizationCostModel::selectEpilogueVectorizationFactor
we bail out if the main vector loop uses a scalable VF. This patch adds
support for generating epilogue vector loops using a fixed-width VF when the
main vector loop uses a scalable VF.
I've changed LoopVectorizationCostModel::selectEpilogueVectorizationFactor
so that we convert the scalable VF into a fixed-width VF and do profitability
checks on that instead. In addition, since the scalable and fixed-width VFs
live in different VPlans that means I had to change the calls to
LVP.hasPlanWithVFs so that we only pass in the fixed-width VF.
New tests added here:
Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
Differential Revision: https://reviews.llvm.org/D109432
2021-11-08 09:41:13 +00:00
..
2021-11-08 09:41:13 +00:00
2021-06-07 12:13:21 +01:00
2021-10-28 02:15:14 +03:00
2021-02-01 12:14:59 +00:00
2021-10-28 02:15:14 +03:00
2021-10-18 18:23:00 +01:00
2021-01-06 11:22:50 +09:00
2021-10-28 09:22:20 -07:00
2021-08-06 10:13:15 +01:00
2021-08-23 21:09:26 +01:00
2020-12-28 10:13:28 -08:00
2021-06-07 10:47:52 +01:00
2021-06-07 10:47:52 +01:00
2021-05-24 19:43:40 +02:00
2021-05-24 19:43:40 +02:00
2021-05-24 19:43:40 +02:00
2021-06-07 10:47:52 +01:00
2021-06-07 10:47:52 +01:00
2021-04-28 17:27:52 -04:00
2021-03-05 09:57:56 +00:00
2021-06-07 10:47:52 +01:00
2021-10-28 02:15:14 +03:00
2021-10-11 20:13:01 +01:00
2021-10-27 22:21:37 +03:00
2021-02-12 08:13:50 -05:00
2021-02-12 08:13:50 -05:00
2021-09-15 09:21:39 +01:00
2021-10-27 22:21:37 +03:00
2021-10-18 16:48:10 -07:00
2020-12-17 01:03:49 +03:00
2021-03-23 09:50:14 +00:00
2021-06-07 10:47:52 +01:00
2021-06-28 11:10:38 +01:00
2020-12-17 01:03:49 +03:00
2021-10-27 22:21:37 +03:00
2021-02-14 21:12:34 +09:00
2021-05-24 19:43:40 +02:00
2021-10-27 22:21:37 +03:00
2021-10-27 22:21:37 +03:00
2020-12-30 04:21:04 +09:00
2021-08-08 10:32:02 +03:00
2020-12-30 04:21:04 +09:00
2021-08-23 21:09:26 +01:00
2021-06-17 09:38:28 +02:00
2021-07-19 19:38:24 +08:00
2021-07-19 19:38:24 +08:00
2021-03-17 17:03:47 +01:00
2021-08-05 14:39:08 +01:00
2021-10-05 18:41:24 -07:00
2021-07-15 08:53:51 -07:00
2021-06-07 10:47:52 +01:00
2021-05-24 19:43:40 +02:00
2021-09-15 10:45:50 +01:00
2021-02-17 21:37:08 -05:00
2021-05-24 19:43:40 +02:00
2021-01-20 11:48:48 +00:00
2021-10-18 18:03:09 +01:00
2021-10-18 18:03:09 +01:00
2021-01-19 20:09:42 +01:00
2021-04-29 08:34:24 +01:00
2021-08-16 20:40:55 +02:00
2021-09-10 15:18:23 +02:00
2021-01-08 10:49:44 +00:00
2021-06-07 10:47:52 +01:00
2021-11-08 09:41:13 +00:00
2021-10-28 02:15:14 +03:00
2020-12-30 04:21:04 +09:00
2021-06-07 10:47:52 +01:00
2021-06-07 10:47:52 +01:00
2021-06-07 10:47:52 +01:00
2021-06-07 10:47:52 +01:00
2021-10-27 22:21:37 +03:00
2021-09-18 20:51:00 +02:00
2021-10-28 02:15:14 +03:00
2021-04-09 10:01:57 +01:00
2021-06-07 10:47:52 +01:00
2021-06-07 14:47:36 -07:00
2021-06-07 10:47:52 +01:00
2021-10-27 22:21:37 +03:00
2021-10-28 02:15:14 +03:00
2021-10-27 22:21:37 +03:00
2021-10-28 18:22:05 +01:00
2021-10-18 18:03:09 +01:00
2021-02-14 21:12:34 +09:00
2021-10-18 18:03:09 +01:00
2021-09-21 20:13:32 +03:00
2021-06-07 10:47:52 +01:00
2021-11-02 08:59:53 +00:00
2021-06-07 10:47:52 +01:00
2021-11-02 08:59:53 +00:00
2021-07-27 12:35:04 -04:00
2021-06-28 11:10:38 +01:00
2021-02-19 14:01:57 -05:00
2021-11-02 22:15:09 +01:00
2021-05-11 14:32:34 +01:00
2021-07-15 08:53:51 -07:00
2021-05-24 19:43:40 +02:00
2021-10-28 18:22:05 +01:00
2021-05-24 19:43:40 +02:00
2021-10-28 02:15:14 +03:00
2021-06-07 10:47:52 +01:00
2021-03-01 10:48:04 +00:00
2021-08-06 10:13:15 +01:00
2021-08-10 08:27:43 +01:00
2021-11-01 09:58:14 +00:00
2021-08-06 10:13:15 +01:00
2021-06-07 10:47:52 +01:00
2021-08-06 10:13:15 +01:00
2021-10-11 09:41:38 +01:00
2021-07-07 15:30:10 +01:00
2021-08-15 12:15:52 +01:00
2021-10-27 22:21:37 +03:00
2021-04-28 13:41:07 +01:00
2021-05-05 09:56:28 -07:00
2021-05-24 19:43:40 +02:00
2021-10-27 22:21:37 +03:00
2021-10-11 09:41:38 +01:00
2021-02-12 08:13:50 -05:00
2021-06-07 10:47:52 +01:00
2021-10-18 18:03:09 +01:00
2021-10-27 22:21:37 +03:00
2020-12-17 01:03:49 +03:00
2021-07-30 18:04:09 +01:00
2021-06-07 10:47:52 +01:00
2021-10-27 22:21:37 +03:00
2021-06-07 10:47:52 +01:00
2021-10-27 22:21:37 +03:00
2021-06-07 10:47:52 +01:00
2021-06-07 10:47:52 +01:00
2020-12-17 01:03:49 +03:00
2021-09-14 11:19:12 +01:00
2021-03-19 10:50:12 -07:00
2021-10-07 09:52:01 +01:00
2021-05-27 14:07:48 +01:00
2021-10-11 20:13:01 +01:00
2021-06-07 10:47:52 +01:00
2021-06-07 10:47:52 +01:00
2021-03-10 20:59:53 +00:00