[PATCH] D73533: [GlobalISel] (fix) Use pointer type size for offset constant when lowering stores

Dominik Montada via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 28 01:19:57 PST 2020


gargaroff created this revision.
gargaroff added a reviewer: arsenm.
Herald added subscribers: llvm-commits, Petar.Avramovic, volkan, hiraditya, rovka, wdng.
Herald added a project: LLVM.

Commit 9965b12fd1b <https://reviews.llvm.org/rG9965b12fd1bcb78396fbea2c28d80068e43b31a3> was supposed to change the offset constant when lowering load/stores, but only introduced this change for loads. This patch adds the same fix for stores.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D73533

Files:
  llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp


Index: llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
===================================================================
--- llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+++ llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
@@ -2346,8 +2346,8 @@
 
     // Generate the PtrAdd and truncating stores.
     LLT PtrTy = MRI.getType(PtrReg);
-    auto OffsetCst =
-        MIRBuilder.buildConstant(LLT::scalar(64), LargeSplitSize / 8);
+    auto OffsetCst = MIRBuilder.buildConstant(
+            LLT::scalar(PtrTy.getSizeInBits()), LargeSplitSize / 8);
     Register PtrAddReg = MRI.createGenericVirtualRegister(PtrTy);
     auto SmallPtr =
         MIRBuilder.buildPtrAdd(PtrAddReg, PtrReg, OffsetCst.getReg(0));


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73533.240797.patch
Type: text/x-patch
Size: 713 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200128/0464e867/attachment.bin>


More information about the llvm-commits mailing list