[PATCH] D87679: [LV] Unroll factor is expected to be > 0

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 27 04:02:45 PDT 2020


fhahn accepted this revision.
fhahn added a comment.
This revision is now accepted and ready to land.

LGTM, thanks. Suggestion inline, but quite subjective, so feel free to ignore.



================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:5617
   // that the target and trip count allows.
   if (IC > MaxInterleaveCount)
     IC = MaxInterleaveCount;
----------------
ebrevnov wrote:
> fhahn wrote:
> > IIUC the problem here is in cases when `MaxInterleaveCount == 0`, right? 
> > 
> > The code below expects MaxInterleaveCount > 0 and I think it would be slightly preferable to make sure `MaxInterleaveCount` is at least 1. With that, the code setting `IC` should do the right thing, and other (potential future) users of `MaxInterleaveCount` can expect a sane value.
> > IIUC the problem here is in cases when `MaxInterleaveCount == 0`, right? 
> That's right.
> 
> > 
> > The code below expects MaxInterleaveCount > 0 and I think it would be slightly preferable to make sure `MaxInterleaveCount` is at least 1.
> I don't see any uses of MaxInterleaveCount  bellow this point.
> 
> 
>> The code below expects MaxInterleaveCount > 0 and I think it would be slightly  preferable to make sure MaxInterleaveCount is at least 1.
> I don't see any uses of MaxInterleaveCount bellow this point.

Right, personally I think it would still be slightly preferable to ensure the variables have sane values as early as possible, especially when a `MaxInterleaveCount ` of 0 does not really make sense in this context and makes the existing code for IC handling work as expected. But it probably it doesn't make much of a difference in practice.

Also, using `std::max` would seem slightly more explicit to me, together with a comment that IC must be at least 1.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D87679



More information about the llvm-commits mailing list