[all-commits] [llvm/llvm-project] cbcb90: VirtRegRewriter: Add super register defs for live ...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Thu Oct 17 01:35:36 PDT 2024


  Branch: refs/heads/users/arsenm/issue98474-register-coalescer-verifier-error
  Home:   https://github.com/llvm/llvm-project
  Commit: cbcb90a37d9df6260bdec96ad234584f7b00991a
      https://github.com/llvm/llvm-project/commit/cbcb90a37d9df6260bdec96ad234584f7b00991a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-10-17 (Thu, 17 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
    M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill.mir
    A llvm/test/CodeGen/AMDGPU/issue98474-need-live-out-undef-subregister-def.ll
    A llvm/test/CodeGen/AMDGPU/issue98474-virtregrewriter-live-out-undef-subregisters.mir
    M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
    M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
    A llvm/test/MachineVerifier/AMDGPU/issue98474-missing-def-liveout-physical-subregister.mir

  Log Message:
  -----------
  VirtRegRewriter: Add super register defs for live out undef lanes

If an undef subregister def is live into another block, we need to
maintain a physreg def to track the liveness of those lanes. This
would manifest a verifier error after branch folding, when the cloned
tail block use no longer had a def.

There is a missing verifier check for this situation. Added an xfailed
test that demonstrates this. We may also be able to revert the changes
in 47d3cbcf842a036c20c3f1c74255cdfc213f41c2.

It might be better to insert an IMPLICIT_DEF before the instruction
rather than using the implicit-def operand.

Fixes #98474



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