[llvm] [LoadStoreVectorizer] Fill gaps in load/store chains to enable vectorization (PR #159388)

Drew Kersnar via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 5 07:06:06 PST 2025


================
@@ -1641,3 +1829,146 @@ std::optional<APInt> Vectorizer::getConstantOffset(Value *PtrA, Value *PtrB,
         .sextOrTrunc(OrigBitWidth);
   return std::nullopt;
 }
+
+bool Vectorizer::accessIsAllowedAndFast(unsigned SizeBytes, unsigned AS,
+                                        Align Alignment,
+                                        unsigned VecElemBits) const {
+  if (Alignment.value() % SizeBytes == 0)
----------------
dakersnar wrote:

>aligned vector accesses are ALWAYS faster than misaligned vector accesses 

Do you mean "aligned vector accesses are ALWAYS faster than **element-wise** accesses", or am I misunderstanding your point? If so, I agree that that comment would be helpful.



https://github.com/llvm/llvm-project/pull/159388


More information about the llvm-commits mailing list