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

Ayal Zaks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 27 08:33:12 PDT 2019


Ayal added a comment.

The original intent was to make sure that under OptForSize only a single (vector) loop will be produced. I.e., w/o a scalar loop serving either as scalar leftover iterations or as runtime guard bailout. There's another such assert in emitSCEVChecks(). Now that FoldTailByMasking no longer implies OptForSize this should indeed be updated (to use CM_ScalarEpilogueNotAllowedOptSize instead perhaps?).



================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:2699
   assert(!Cost->foldTailByMasking() &&
          "Cannot SCEV check stride or overflow when folding tail");
   // Create a new block containing the stride check.
----------------
also here


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

https://reviews.llvm.org/D66803





More information about the llvm-commits mailing list