RegisterPressure: LiveRegSet tracks register units not physregs
authorMatthias Braun <matze@braunis.de>
Tue, 29 Sep 2015 00:20:32 +0000 (00:20 +0000)
committerMatthias Braun <matze@braunis.de>
Tue, 29 Sep 2015 00:20:32 +0000 (00:20 +0000)
There are always more physical registers and register units so the
previous behaviour was correct but we can do with less memory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248767 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegisterPressure.cpp

index 237e465e906cec9b5c196b43754b30b3b73910cb..5da683eb999ac779db35e692f342e9fc452738a5 100644 (file)
@@ -210,7 +210,7 @@ void RegPressureTracker::init(const MachineFunction *mf,
 
   P.MaxSetPressure = CurrSetPressure;
 
-  LiveRegs.PhysRegs.setUniverse(TRI->getNumRegs());
+  LiveRegs.PhysRegs.setUniverse(TRI->getNumRegUnits());
   LiveRegs.VirtRegs.setUniverse(MRI->getNumVirtRegs());
   if (TrackUntiedDefs)
     UntiedDefs.setUniverse(MRI->getNumVirtRegs());