[PATCH] D92369: [ARM] Improve handling of empty VPT blocks in tail predicated loops

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 1 03:02:02 PST 2020


dmgreen 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()))
----------------
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).


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

https://reviews.llvm.org/D92369



More information about the llvm-commits mailing list