[all-commits] [llvm/llvm-project] bde5e7: RegisterPressure: Remove dead defs correctly (#222...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Tue Sep 15 06:56:34 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bde5e74309f6d66253a8a1360df575daa19e5b55
      https://github.com/llvm/llvm-project/commit/bde5e74309f6d66253a8a1360df575daa19e5b55
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/RegisterPressure.cpp
    A llvm/test/CodeGen/X86/dead-register-pr76416.mir
    A llvm/test/CodeGen/X86/inline-asm-pr149144.ll
    A llvm/test/CodeGen/X86/inline-asm-pr155807.ll
    A llvm/test/CodeGen/X86/inline-asm-pr76416.ll
    M llvm/test/CodeGen/X86/masked-udiv.ll
    M llvm/test/CodeGen/X86/min-legal-vector-width.ll
    A llvm/test/CodeGen/X86/pr205272.ll
    M llvm/test/CodeGen/X86/ssub_sat_plus.ll
    M llvm/test/CodeGen/X86/udiv_fix.ll
    M llvm/test/CodeGen/X86/udiv_fix_sat.ll
    M llvm/test/CodeGen/X86/usub_sat_plus.ll
    M llvm/test/CodeGen/X86/vector-idiv-strictfp.ll
    M llvm/test/CodeGen/X86/vector-idiv-udiv-512.ll
    M llvm/test/CodeGen/X86/xmulo.ll

  Log Message:
  -----------
  RegisterPressure: Remove dead defs correctly (#222627)

When an instruction has overlapping register defs where only some carry
the dead flag (for example a dead super-register def alongside a live
sub-register def), the collector left the shared register units in both the live and
dead def sets. That produced a PressureDiff decrement with no matching increment
and tripped the "PSet overflow/underflow" assertion in getUpwardPressureDelta.

A register unit is dead if any def covering it is dead, regardless of
operand order. Reconcile by subtracting the dead defs from the live defs instead
of the reverse: removeRegLanes only clears the overlapping units, so a def
keeps any units a dead def does not cover.

Fixes #155807.
Fixes #149144.
Fixes #76416.
Fixes #205272.

Co-authored-by: XChy <xxs_chy at outlook.com>
Co-authored-by: Claude claude-opus-4.8 <noreply at anthropic.com>



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