[all-commits] [llvm/llvm-project] c34900: AMDGPU/GlobalISel: Fix selection of image intrinsi...

petar-avramovic via All-commits all-commits at lists.llvm.org
Thu Apr 29 11:57:55 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c34900e1335d490bf6f16fba55eacd4ecf831f72
      https://github.com/llvm/llvm-project/commit/c34900e1335d490bf6f16fba55eacd4ecf831f72
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2021-04-29 (Thu, 29 Apr 2021)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: Fix selection of image intrinsics with unused return

When atomic image intrinsic return value is unused, register class for
destination of a sub-register copy of return value ends up not being set.
This copy then hits 'Register class not set' assert later.
If return value has uses, register class is determined by use instruction.
Fix is to not create sub-register copy when image intrinsic destination has
no uses because it would be deleted by dead-mi-elimination later anyway.

Differential Revision: https://reviews.llvm.org/D101448




More information about the All-commits mailing list