[PATCH] D103882: [CostModel][AArch64] Make loads/stores of <vscale x 1 x eltty> expensive.

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 9 02:32:04 PDT 2021


paulwalker-arm added a comment.

My feeling is that the vectoriser should never try to vectorise a loop that is impossible to vectorise, with the act of costing a vectorisation candidate effectively saying the loop is safe to vectorise.  So a way to guard this is to ensure that when costing a vectorisation candidate we force the need for a real cost.  It's just unfortunate that when it comes to scalable vectorisation there are more scenarios that lead to loops that are not vectorisable (or rather, loops where scalable VFs must be pulled from the list of candidate VFs).

Now I agree that with this patch we're not exactly following this design goal but for SVE this is currently an experimental (default off) feature and thus we have wiggle room to do the wrong thing for the right reasons.  In this instance it is more valuable to allow a base level of experimental vectorisation before all the code generation bugs are resolved.  As Sander said, we could fix this by honouring the design (i.e. as part of the is legal checks) but that in itself would be a redundant interface once the code generation bug is fixed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103882/new/

https://reviews.llvm.org/D103882



More information about the llvm-commits mailing list