[PATCH] D90461: [ARM][LowOverheadLoops] Merge a VCMP and the new VPST into a VPT
Sam Tebbs via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 6 08:51:44 PST 2020
samtebbs added inline comments.
================
Comment at: llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp:1571
+ RDA->getUniqueReachingMIDef(VPST, ARM::VPR) == VCMP) {
+ ReplaceVCMPWithVPT();
+ } else if (DivergentNextIsPredicated) {
----------------
dmgreen wrote:
> I'm still not sure this is the correct VPST to be looking at, in order to replace a VCMP with a VPT. I think either that this will be the last instruction in the block, in which case it needs to be folded into the _next_ instruction, or it will be in the middle of a block that is handled below.
>
> Oh, whilst I write this I see you have a patch for that, fantastic. Is this if block needed, or can it be removed without altering anything else?
Yes you're right! Thanks for pointing that out. Removing this if-statement can be done without changing anything else.
My follow-up patch will then add support for merging across block boundaries.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90461/new/
https://reviews.llvm.org/D90461
More information about the llvm-commits
mailing list