[LV] Tail-folding, runtime scev checks
authorSjoerd Meijer <sjoerd.meijer@arm.com>
Tue, 3 Sep 2019 08:53:02 +0000 (08:53 +0000)
committerSjoerd Meijer <sjoerd.meijer@arm.com>
Tue, 3 Sep 2019 08:53:02 +0000 (08:53 +0000)
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

llvm-svn: 370711

llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

index 4f67aa1..1db9f92 100644 (file)
@@ -2695,8 +2695,8 @@ void InnerLoopVectorizer::emitSCEVChecks(Loop *L, BasicBlock *Bypass) {
     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");