[llvm] [ARM] Don't block tail-predication from unrelated VPT blocks. (PR #94239)

Sam Parker via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 3 10:16:08 PDT 2024


================
@@ -275,6 +281,16 @@ namespace {
       if (VPT->getOpcode() == ARM::MVE_VPST)
         return false;
 
+      // If the VPT block does not define something that is an "output", then the
+      // tail-predicated version will just perform a subset of the original vpt
+      // block, where the last lanes should not be used.
+      if (isVPTOpcode(VPT->getOpcode()) &&
----------------
sparker-arm wrote:

Do we still not have to worry about loads...? `producesFalseLanesZero` is going to report true for any predicated load so just this break any of our assumptions?

https://github.com/llvm/llvm-project/pull/94239


More information about the llvm-commits mailing list