[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