[PATCH] D87616: [ARM][LowOverheadLoops] Combine a VCMP and VPST into a VPT

Sam Tebbs via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 15 06:36:02 PDT 2020


samtebbs marked 2 inline comments as done.
samtebbs added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp:1302
+          // Find the VCMP preceding the VPST
+          if (I->getOpcode() == ARM::MVE_VCMPs8 && ++I == E)
+            VCMP = &*(--I);
----------------
samparker wrote:
> Shouldn't you be searching for any VCMP opcode? RDA would be a nicer way of finding the VPR def, but that shouldn't be unnecessary anyway - I'm pretty certain the VCMP should be the 'Divergent' instruction.
Checking the Divergent is much better, thanks. I also realised that I wasn't decrementing `I` if the `++I == E` check failed so this new logic is more robust.


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

https://reviews.llvm.org/D87616



More information about the llvm-commits mailing list