[all-commits] [llvm/llvm-project] 69abfd: [AMDGPU] Allow casts between the Global and Consta...

Fabian Ritter via All-commits all-commits at lists.llvm.org
Tue Oct 22 00:33:47 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 69abfd31419d94857b89e1c54bf551f43a19f657
      https://github.com/llvm/llvm-project/commit/69abfd31419d94857b89e1c54bf551f43a19f657
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2024-10-22 (Tue, 22 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
    M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
    A llvm/test/CodeGen/AMDGPU/memmove-var-size.ll

  Log Message:
  -----------
  [AMDGPU] Allow casts between the Global and Constant Addr Spaces in isValidAddrSpaceCast (#112493)

So far, isValidAddrSpaceCast only allows casts to the flat address
space and between the constant(32) address spaces. It does not allow
casting between the global and constant address spaces, even though they
alias. That affects, e.g., the lowering of memmoves from the constant to
the global address space in LowerMemIntrinsics, since that requires
aliasing address spaces to be castable.

This patch relaxes isValidAddrSpaceCast and allows such casts. It also
includes a memmove test that would crash with the previous
implementation because the memmove IR lowering would not be
applicable for the move from constant AS to global AS.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list