[all-commits] [llvm/llvm-project] 24c0ad: [AMDGPU] Fix the dead frame indices during custom ...

Christudasan Devadasan via All-commits all-commits at lists.llvm.org
Tue Mar 9 09:57:55 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 24c0ad714393d6c74e94539f995a0f8d4349bb8e
      https://github.com/llvm/llvm-project/commit/24c0ad714393d6c74e94539f995a0f8d4349bb8e
  Author: Christudasan Devadasan <Christudasan.Devadasan at amd.com>
  Date:   2021-03-09 (Tue, 09 Mar 2021)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    A llvm/test/CodeGen/AMDGPU/sgpr-spill-dead-frame-in-dbg-value.mir
    A llvm/test/CodeGen/AMDGPU/vgpr-spill-dead-frame-in-dbg-value.mir

  Log Message:
  -----------
  [AMDGPU] Fix the dead frame indices during custom spill lowering.

AMDGPU target tries to handle the SGPR and VGPR spills in a
custom pass before the actual frame lowering pass. Once they
are handled and the respective frames are eliminated in the
custom pass, certain uses of them still remain. For instance,
the DBG_VALUE instructions inserted by the allocator alongside
the spill instruction will use the corresponding frame index.
They become dead later during PEI and causes a crash while trying to
replace the frame indices. We should possibly avoid this custom pass.
For now, replacing such dead references with null register value.

Reviewed By: arsenm, scott.linder

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




More information about the All-commits mailing list