[PATCH] D59971: [GlobalISel] Add legalization support for non-power-2 loads and stores

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 16 00:38:52 PDT 2019


arsenm added inline comments.


================
Comment at: llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp:1379-1389
+  MachineMemOperand *NewLargeMMO = MF.getMachineMemOperand(
+      MMO->getPointerInfo(), MMO->getFlags(), Size1 / 8, MMO->getAlignment(),
+      MMO->getAAInfo(), MMO->getRanges(), MMO->getSyncScopeID(),
+      MMO->getOrdering(), MMO->getFailureOrdering());
+
+  MachinePointerInfo SmallPtrInfo = MMO->getPointerInfo();
+  SmallPtrInfo.Offset = Size1 / 8;
----------------
arsenm wrote:
> arsenm wrote:
> > I think this breaks the alignment. You should use MF.getMachineMemOperand(MMO, Size, Offset)
> I got the order wrong, it's:
>  
> ```
> MachineMemOperand *getMachineMemOperand(const MachineMemOperand *MMO,
>                                           int64_t Offset, uint64_t Size);
> ```
This is still using the new function?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59971/new/

https://reviews.llvm.org/D59971





More information about the llvm-commits mailing list