[all-commits] [llvm/llvm-project] 2f885c: AMDGPU/GlobalISel: Fix move s.buffer.load to VALU

Matt Arsenault via All-commits all-commits at lists.llvm.org
Fri Feb 7 07:19:15 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2f885cbe904f6281b73e9986c5b918e1d15c5aba
      https://github.com/llvm/llvm-project/commit/2f885cbe904f6281b73e9986c5b918e1d15c5aba
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2020-02-07 (Fri, 07 Feb 2020)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-s-buffer-load.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: Fix move s.buffer.load to VALU

We were executing this in a waterfall loop as a placeholder, but this
should really be converted to a MUBUF load. Also execute in a
waterfall loop if the resource isn't an SGPR. This is a case where the
DAG handling was wrong because doing the right thing was too hard.

Currently, this will mishandle 96-bit loads. There's currently no way
to track the original memory size with an MMO, so these loads will be
widened andd the resulting memory size will be 128-bits.




More information about the All-commits mailing list