[PATCH] D67709: [ARM][MVE] Cleanup tail-predicated loop

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 20 03:46:14 PDT 2019


samparker marked an inline comment as done.
samparker added a comment.

So the pass shouldn't attempt to convert a loop that contains any vector intrinsics, other than masked.load and masked.store. So, we will actually need to do extra work for this to operate with MVE intrinsics. Even once we've done that, the pass only tries to remove the old icmp predicates, which we pattern match. If the user defined predicates match those that the vectorizer outputs, then there's no reason why we won't perform this transform. I would say that I'd add a test, but we don't have intrinsic support yet...



================
Comment at: lib/Target/ARM/MVETailPredication.cpp:462
+  for (auto *Pred : Predicates)
+    MaybeDead.insert(cast<Instruction>(Pred));
+
----------------
SjoerdMeijer wrote:
> Do we need the extra `MaybeDead` bookkeeping? Can we just use `Predicates`?
I'll take a look.


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

https://reviews.llvm.org/D67709





More information about the llvm-commits mailing list