[all-commits] [llvm/llvm-project] 4d2faf: [AMDGPU][SIFrameLowering] Mark VGPR used for AGPR ...

Jeffrey Byrnes via All-commits all-commits at lists.llvm.org
Fri Dec 16 12:09:59 PST 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4d2faf043bbbc19801bafb413b9090721e873be4
  Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
  Date:   2022-12-16 (Fri, 16 Dec 2022)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    A llvm/test/CodeGen/AMDGPU/copy-vgpr-clobber-spill-vgpr.mir

  Log Message:
  [AMDGPU][SIFrameLowering] Mark VGPR used for AGPR spills as reserved

Presently, there is an issue on MI100 (and probably other architecture) where the VGPR used for AGPR copies clobbers VGPR used for AGPR spill. AFAICT this is because in processFunctionBeforeFrameIndicesReplaced we think the VGPR register for AGPR spill is unused. This patch aims to correct that. This is a WIP while I work out issues with producing a good test. For now, I'm curious if this is generally a good / bad idea.

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

More information about the All-commits mailing list