[PATCH] D66803: [LV] Tail-folding with runtime memory checks

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 3 01:37:14 PDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rL370707: [LV] Tail-folding with runtime memory checks (authored by SjoerdMeijer, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D66803?vs=217847&id=218408#toc

Repository:
  rL LLVM

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

https://reviews.llvm.org/D66803

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


Index: llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
===================================================================
--- llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -2697,6 +2697,7 @@
 
   assert(!Cost->foldTailByMasking() &&
          "Cannot SCEV check stride or overflow when folding tail");
+
   // Create a new block containing the stride check.
   BB->setName("vector.scevcheck");
   auto *NewBB = BB->splitBasicBlock(BB->getTerminator(), "vector.ph");
@@ -2729,7 +2730,9 @@
   if (!MemRuntimeCheck)
     return;
 
-  assert(!Cost->foldTailByMasking() && "Cannot check memory when folding tail");
+  assert(!BB->getParent()->hasOptSize() &&
+         "Cannot emit memory checks when optimizing for size");
+
   // Create a new block containing the memory check.
   BB->setName("vector.memcheck");
   auto *NewBB = BB->splitBasicBlock(BB->getTerminator(), "vector.ph");


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66803.218408.patch
Type: text/x-patch
Size: 958 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190903/941884f4/attachment.bin>


More information about the llvm-commits mailing list