[PATCH] D46130: [NVPTX] Turn on Loop/SLP vectorization

Justin Lebar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 26 11:30:09 PDT 2018


jlebar added inline comments.


================
Comment at: lib/Target/NVPTX/NVPTXTargetTransformInfo.h:53
+  // NVPTX has infinite registers of all kinds.
+  unsigned getNumberOfRegisters(bool Vector) const { return 1; }
+
----------------
bkramer wrote:
> jlebar wrote:
> > bkramer wrote:
> > > jlebar wrote:
> > > > Does 1 have specific meaning?  I don't see this in any of the comments, and that would be a pretty weird API...  (Like, did you mean -1?)
> > > 1 is the default of the generic implementation, I just copied that and removed the check for vector. I'm not even sure if anyone ever checks the value or just compares it against zero.
> > I see a few places using the actual value returned: LoopStrengthReduce, LoopVectorize...
> Right, LoopStrengthReduce calls it with (false), which was returning '1' before and after :)
> 
> I'm not sure about LoopVectorize, but conservatively limiting its vectorization factor is probably a good thing.
OK, I think I see what you're after: You want to make the minimal/safest change that gets vectorization on your testcases?

That sounds good to me, but can we make the comment on "return 1" express this motivation?


Repository:
  rL LLVM

https://reviews.llvm.org/D46130





More information about the llvm-commits mailing list