[PATCH] D78994: [Target][ARM] Add a fix for an LSR Pattern that can't be tail-predicated

Pierre van Houtryve via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 29 04:47:21 PDT 2020


Pierre-vh marked an inline comment as done.
Pierre-vh added inline comments.


================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:326
 
+  FixLSRPattern(L, *SE);
+
----------------
samparker wrote:
> We haven't even inserted the VCTP yet! Your test shouldn't contain the intrinsic. If TryConvert returns the VCTP, then you could use it directly and not have to iterate through the loop doing your add search.
I think this pattern (generated by LSR) can only happen when there is a VCTP intrinsic already present. 

The reproducer I had was using it, and I can't think of a way to trigger the same issue without the VCTP intrinsic. 
Also, if I were to implement this by using the result of TryConvert, it wouldn't fix the original issue as it wouldn't catch existing VCTP intrinsics.

I should make this clearer in the patch, or perhaps this fix is just misplaced? (Not in the right pass?)
What do you think?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D78994





More information about the llvm-commits mailing list