[llvm-branch-commits] [llvm] [AMDGPU] Physical register tracking in GCN trackers. (PR #184275)

Dhruva Chakrabarti via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Mar 3 15:47:46 PST 2026


================
@@ -320,12 +320,47 @@ class GCNRPTracker {
 
 protected:
   const LiveIntervals &LIS;
+
+  // Virtual register tracking
   LiveRegSet VirtLiveRegs;
   GCNRegPressure CurVirtPressure, MaxVirtPressure;
+
+  // Physical register tracking: Maintain clean separation between virtual and
+  // physical registers. Tracking physical registers can be turned OFF with an
+  // option. Using llvm::LiveRegSet for consistency with the generic tracker.
+  llvm::LiveRegSet PhysLiveRegs;
----------------
dhruvachak wrote:

> I don't really understand this handling. You're tracking all the regunits, and managing lane masks? The live regunits is a single bit vector

I see your point. Let me change it to a bit vector and drop the lane masks.

https://github.com/llvm/llvm-project/pull/184275


More information about the llvm-branch-commits mailing list