[all-commits] [llvm/llvm-project] 118020: CodeGen: Clear physreg ranges after SplitCriticalEdge

Matt Arsenault via All-commits all-commits at lists.llvm.org
Sat Sep 12 13:38:43 PDT 2026


  Branch: refs/heads/users/arsenm/codegen/splitcriticaledge-physreg-regunit-liveness
  Home:   https://github.com/llvm/llvm-project
  Commit: 1180206e06c72ff6ca84366507d0f9b3a9d4391c
      https://github.com/llvm/llvm-project/commit/1180206e06c72ff6ca84366507d0f9b3a9d4391c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-12 (Sat, 12 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    A llvm/test/CodeGen/WebAssembly/splitcriticaledge-physreg-liveness.mir

  Log Message:
  -----------
  CodeGen: Clear physreg ranges after SplitCriticalEdge

After critical edge spliting replaces a terminator, clear referenced
physreg ranges. The block's terminators may be replaced, and may
reference physical registers (e.g. WebAssebly's ARGUMENTS. When
LiveIntervals is available, repairIntervalsInRange only repairs virtual
registers, so the tracked physreg units were stale.

It feels like a bug that repairIntervalsInRange doesn't touch physregs,
but I've left that for a future change.

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