[all-commits] [llvm/llvm-project] 9d6003: AMDGPU: Lower addrspacecast on gfx6

Matt Arsenault via All-commits all-commits at lists.llvm.org
Sun Dec 18 05:02:58 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9d6003c764fc4754959e4d7380f7c9d2559299f4
      https://github.com/llvm/llvm-project/commit/9d6003c764fc4754959e4d7380f7c9d2559299f4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-12-18 (Sun, 18 Dec 2022)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
    A llvm/test/CodeGen/AMDGPU/addrspacecast.gfx6.ll

  Log Message:
  -----------
  AMDGPU: Lower addrspacecast on gfx6

Fixes inconsistent handling of constant-32bit case. Turns out we can
lower all the casts just fine, it's just accessing the flat results
that's a problem.


  Commit: 17069608940d22cd6266afb948443b11793f0a57
      https://github.com/llvm/llvm-project/commit/17069608940d22cd6266afb948443b11793f0a57
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-12-18 (Sun, 18 Dec 2022)

  Changed paths:
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.h
    A llvm/test/CodeGen/AMDGPU/addrspacecast.r600.ll

  Log Message:
  -----------
  AMDGPU/R600: Special case addrspacecast lowering for null

Due to poor support for non-0 null pointers, clang always emits
addrspacecast from a null flat constant for private/local null. We can
trivially handle this case for old hardware.

Should fix issue 55679.


Compare: https://github.com/llvm/llvm-project/compare/6f5cdc93cd76...17069608940d


More information about the All-commits mailing list