[PATCH] D92369: [ARM] Improve handling of empty VPT blocks in tail predicated loops
Sam Tebbs via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 1 05:36:55 PST 2020
samtebbs added inline comments.
================
Comment at: llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp:316
+ // anything valid once we remove the VCTP. For now just bail out.
+ if (Insts.size() == 2 && Insts.front()->getOpcode() != ARM::MVE_VPST &&
+ isVCTP(Insts.back()))
----------------
dmgreen wrote:
> SjoerdMeijer wrote:
> > Perhaps I am confused, but should this:
> >
> > Insts.front()->getOpcode() != ARM::MVE_VPST
> >
> > not be be `==`?
> The block should start with either a VPST or a VPT. This is checking that it's a VPT, by proxy of it not being a VPST. (There are many VPT opcodes, so that is more difficult to check).
There is a `isVPTOpcode` function that you could use to make the check more precise.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92369/new/
https://reviews.llvm.org/D92369
More information about the llvm-commits
mailing list