[PATCH] D120400: [MIRParser] Diagnose too large align values in MachineMemOperands

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 23 08:58:41 PST 2022


foad added inline comments.


================
Comment at: llvm/test/CodeGen/AMDGPU/merge-global-load-store.mir:413
     %0:vreg_64_align2 = IMPLICIT_DEF
-    %1:vgpr_32 = GLOBAL_LOAD_DWORD %0, 4, 0, implicit $exec :: (load (s32) from `i32 addrspace(1)* undef` + 4, align 8, addrspace 1)
+    %1:vgpr_32 = GLOBAL_LOAD_DWORD %0, 4, 0, implicit $exec :: (load (s32) from `i32 addrspace(1)* undef` + 4, basealign 8, addrspace 1)
     %2:vgpr_32 = GLOBAL_LOAD_DWORD %0, 0, 0, implicit $exec :: (load (s32) from `float addrspace(1)* undef`, align 4, addrspace 1)
----------------
rampitec wrote:
> Well, this is unlikely to happen in real life, but this was exactly my point writing this torture test: basealign is 4, and we have managed to know it is misaligned by 8, so ptr +4 has exactly align 8.
> 
> I believe MIR parser is correct, it just does what is written.
> it just does what is written

No, it takes the "align" value as written and uses it to set the basealign field instead.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D120400



More information about the llvm-commits mailing list