[all-commits] [llvm/llvm-project] 0cb10d: [AMDGPU] Physical register tracking in GCN trackers.

Dhruva Chakrabarti via All-commits all-commits at lists.llvm.org
Mon Mar 2 17:00:17 PST 2026


  Branch: refs/heads/users/dhruvachak/add_physical_to_gcn_trackers_after_rename
  Home:   https://github.com/llvm/llvm-project
  Commit: 0cb10d5ae43e8decc6b9263a9437cc54b21ca234
      https://github.com/llvm/llvm-project/commit/0cb10d5ae43e8decc6b9263a9437cc54b21ca234
  Author: Dhruva Chakrabarti <Dhruva.Chakrabarti at amd.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/RegisterPressure.h
    M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
    M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg-crash.ll
    M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg.ll
    A llvm/test/CodeGen/AMDGPU/schedule-gcn-physreg-pressure.ll

  Log Message:
  -----------
  [AMDGPU] Physical register tracking in GCN trackers.

Previously, the GCN tracker only monitored virtual registers, leading to
inaccurate register pressure estimates and sub-optimal scheduling decisions
when physical registers were present. This patch adds support for tracking
physical registers in GCN trackers. Virtual and physical register tracking
are maintained separately. Similar to virtual LiveRegs, physical LiveRegs
are now maintained. The tracking flow closely follows that of the GCN
trackers in the recede, advance, and pressure-increment methods.

Tracking physical registers leads to better register allocation, no more
allocation failures, and more accurate pressure estimates. Existing tests
have been updated to reflect the above. A new test schedule-gcn-physreg-pressure
has been added that validates physical register tracking across multiple
scenarios.

Assisted-by: Cursor



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