[llvm-commits] [llvm] r112828 - /llvm/trunk/lib/Target/TargetRegisterInfo.cpp

Jim Grosbach grosbach at apple.com
Thu Sep 2 09:31:21 PDT 2010


Author: grosbach
Date: Thu Sep  2 11:31:21 2010
New Revision: 112828

URL: http://llvm.org/viewvc/llvm-project?rev=112828&view=rev
Log:
Mask out reserved registers when constructing the set of allocatable regs.

Modified:
    llvm/trunk/lib/Target/TargetRegisterInfo.cpp

Modified: llvm/trunk/lib/Target/TargetRegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetRegisterInfo.cpp?rev=112828&r1=112827&r2=112828&view=diff
==============================================================================
--- llvm/trunk/lib/Target/TargetRegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/TargetRegisterInfo.cpp Thu Sep  2 11:31:21 2010
@@ -80,6 +80,11 @@
   for (TargetRegisterInfo::regclass_iterator I = regclass_begin(),
          E = regclass_end(); I != E; ++I)
     getAllocatableSetForRC(MF, *I, Allocatable);
+
+  // Mask out the reserved registers
+  BitVector Reserved = getReservedRegs(MF);
+  Allocatable ^= Reserved & Allocatable;
+
   return Allocatable;
 }
 





More information about the llvm-commits mailing list