[llvm] b5c3efe - [ARM][MVE] Tail-predication: predicate new elementcount checks on force-enabled

Sjoerd Meijer via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 16 09:05:54 PDT 2020


Author: Sjoerd Meijer
Date: 2020-09-16T17:05:14+01:00
New Revision: b5c3efeb7bc9861dc04a1b00a4c0183bdfa9b582

URL: https://github.com/llvm/llvm-project/commit/b5c3efeb7bc9861dc04a1b00a4c0183bdfa9b582
DIFF: https://github.com/llvm/llvm-project/commit/b5c3efeb7bc9861dc04a1b00a4c0183bdfa9b582.diff

LOG: [ARM][MVE] Tail-predication: predicate new elementcount checks on force-enabled

Additional sanity checks were added to get.active.lane.mask's second argument,
the loop tripcount/elementcount, in rG635b87511ec3. Like the other (overflow)
checks, skip this if tail-predication is forced.

Differential Revision: https://reviews.llvm.org/D87769

Added: 
    

Modified: 
    llvm/lib/Target/ARM/MVETailPredication.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/ARM/MVETailPredication.cpp b/llvm/lib/Target/ARM/MVETailPredication.cpp
index 987df73970e5..a99fefefdf25 100644
--- a/llvm/lib/Target/ARM/MVETailPredication.cpp
+++ b/llvm/lib/Target/ARM/MVETailPredication.cpp
@@ -411,7 +411,7 @@ bool MVETailPredication::IsSafeActiveMask(IntrinsicInst *ActiveLaneMask,
                  << TC2 << " from get.active.lane.mask\n");
       return false;
     }
-  } else {
+  } else if (!ForceTailPredication) {
     // Smoke tests if the element count is a runtime value. I.e., this isn't
     // fully generic because that would require a full SCEV visitor here. It
     // would require extracting the variable from the elementcount SCEV


        


More information about the llvm-commits mailing list