[PATCH] D19501: Add LoadStoreVectorizer pass

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 10 12:49:05 PDT 2016


arsenm added inline comments.

================
Comment at: lib/Transforms/Vectorize/LoadStoreVectorizer.cpp:152-154
@@ +151,5 @@
+
+  // Don't vectorize when the attribute NoImplicitFloat is used.
+  if (F.hasFnAttribute(Attribute::NoImplicitFloat))
+    return false;
+
----------------
mzolotukhin wrote:
> Should we bail out on this for all potential targets? E.g. why is it a problem for, e.g., vectorizing integer stores on x86 using `movdqa` integer instructions?
I don't really know what this attribute does, it was just there

================
Comment at: lib/Transforms/Vectorize/LoadStoreVectorizer.cpp:729-730
@@ +728,4 @@
+      if (AllocaInst *AI = dyn_cast_or_null<AllocaInst>(V)) {
+        AI->setAlignment(4);
+        Alignment = 4;
+      } else {
----------------
mzolotukhin wrote:
> Is there something special about `4`? Can we add a define/const for it?
The basic type alignment on GPUs? It's on my todo list to make this check allowsMemoryAccess instead


http://reviews.llvm.org/D19501





More information about the llvm-commits mailing list