[PATCH] D44523: Change calculation of MaxVectorSize

Krzysztof Parzyszek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 15 09:18:04 PDT 2018


kparzysz created this revision.
kparzysz added a reviewer: craig.topper.

Currently it's `MaxVectorSize = WidestRegister / WidestType`, but it seems like `MaxVectorSize = WidestRegister / SmallestType` would make a lot more sense.  Is that a typo?

A bunch of lit tests for vectorizer fail with this change, because they look for very specific output.  All CodeGen tests pass.


Repository:
  rL LLVM

https://reviews.llvm.org/D44523

Files:
  lib/Transforms/Vectorize/LoopVectorize.cpp


Index: lib/Transforms/Vectorize/LoopVectorize.cpp
===================================================================
--- lib/Transforms/Vectorize/LoopVectorize.cpp
+++ lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -6096,7 +6096,7 @@
 
   WidestRegister = std::min(WidestRegister, MaxSafeRegisterWidth);
 
-  unsigned MaxVectorSize = WidestRegister / WidestType;
+  unsigned MaxVectorSize = WidestRegister / SmallestType;
 
   DEBUG(dbgs() << "LV: The Smallest and Widest types: " << SmallestType << " / "
                << WidestType << " bits.\n");


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44523.138575.patch
Type: text/x-patch
Size: 552 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180315/da704751/attachment.bin>


More information about the llvm-commits mailing list