[llvm] r370711 - [LV] Tail-folding, runtime scev checks

Sjoerd Meijer via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 3 01:53:02 PDT 2019


Author: sjoerdmeijer
Date: Tue Sep  3 01:53:02 2019
New Revision: 370711

URL: http://llvm.org/viewvc/llvm-project?rev=370711&view=rev
Log:
[LV] Tail-folding, runtime scev checks

Now that we allow tail-folding, not only when we optimise for size, make
sure we do not run in this assert.

Differential revision: https://reviews.llvm.org/D66932

Modified:
    llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp

Modified: llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp?rev=370711&r1=370710&r2=370711&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp (original)
+++ llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp Tue Sep  3 01:53:02 2019
@@ -2695,8 +2695,8 @@ void InnerLoopVectorizer::emitSCEVChecks
     if (C->isZero())
       return;
 
-  assert(!Cost->foldTailByMasking() &&
-         "Cannot SCEV check stride or overflow when folding tail");
+  assert(!BB->getParent()->hasOptSize() &&
+         "Cannot SCEV check stride or overflow when optimizing for size");
 
   // Create a new block containing the stride check.
   BB->setName("vector.scevcheck");




More information about the llvm-commits mailing list