[PATCH] D135950: [AArch64][SME] Disable (SLP|Loop)Vectorizer when function may be executed in streaming mode.
Paul Walker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 18 10:31:29 PDT 2022
paulwalker-arm added a comment.
In D135950#3865768 <https://reviews.llvm.org/D135950#3865768>, @sdesmalen wrote:
> In D135950#3862297 <https://reviews.llvm.org/D135950#3862297>, @paulwalker-arm wrote:
>
>> Sorry @sdesmalen, I must keep reminding myself that streaming compatible is a subset of streaming SVE mode :) What about representing each separately? For example `IsStreamingSVECompatible` and `InStreamingSVEMode`. The latter likely has no current uses? but will allow that difference between "streaming compatible" and "streaming SVE mode" to be queried if/when necessary.
>
> In that case we'd have the possibility of representing an invalid combination (i.e. a function cannot be both `StreamingCompatible` and `StreamingSVEMode`), so then an enum would be a better choice. But since there is (currently) no need for this, is `IsStreamingSVEDisabled` not better at this point? It makes little sense to add something we don't need and can easily extend later.
I was considering `StreamingCompatible` as being a subset of `StreamingSVEMode` so both could be true. That said, I do agree, the exact mechanics can be changed at a later point once we understand the interactions more. This is why I previously accepted the patch because I'm happy with the current intent.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D135950/new/
https://reviews.llvm.org/D135950
More information about the llvm-commits
mailing list