[llvm] [WIP][CodeGen] Modifying MBB's liveins representation as into regUnits (PR #129847)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Mon May 19 02:28:21 PDT 2025


================
@@ -174,8 +176,7 @@ class MachineBasicBlock
   std::optional<uint64_t> IrrLoopHeaderWeight;
 
   /// Keep track of the physical registers that are livein of the basicblock.
-  using LiveInVector = std::vector<RegisterMaskPair>;
-  LiveInVector LiveIns;
+  DenseSet<MCRegister> LiveIns;
----------------
jayfoad wrote:

> It makes sense so aliasing registers (or tuples) will have common regunits (or their roots) to track them uniquely

Right, but the existing code already did that by calling `sortUniqueLiveIns` after adding all the individual livein registers. Changing to a set _might_ be better, but it should be done as an orthogonal change (either before or after this patch) and it should be benchmarked.

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


More information about the llvm-commits mailing list