[llvm] [GlobalISel] Fix volatile flag handling in memmove legalizer (PR #206025)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 23 07:32:16 PDT 2026


=?utf-8?q?Ömer_Sinan_Ağacan?= <omer at osa1.net>,
=?utf-8?q?Ömer_Sinan_Ağacan?= <omer at osa1.net>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/206025 at github.com>


================
@@ -10969,16 +10970,20 @@ LegalizerHelper::lowerMemcpy(MachineInstr &MI, Register Dst, Register Src,
   unsigned CurrOffset = 0;
   unsigned Size = KnownLen;
   for (auto CopyTy : MemOps) {
-    // Issuing an unaligned load / store pair  that overlaps with the previous
-    // pair. Adjust the offset accordingly.
-    if (CopyTy.getSizeInBytes() > Size)
-      CurrOffset -= CopyTy.getSizeInBytes() - Size;
+    unsigned TySize = CopyTy.getSizeInBytes();
----------------
arsenm wrote:

The point is to handle scalable types correctly. Ideally we would remove the implicit conversion and force you to do the right thing with them.; presumably there's some way to avoid the conversion but I don't care that much about it 

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


More information about the llvm-commits mailing list