maintain LiveIn when splitting blocks (register scavenging needs it)
[oota-llvm.git] / lib / CodeGen / RegisterScavenging.cpp
index d73dd3d757e44ea1cf3c20acaef12dd04bf5fc86..e5729abdf497dc5c87020f5bb31043361040da2f 100644 (file)
@@ -180,6 +180,13 @@ void RegScavenger::backward() {
   setUsed(ChangedRegs);
 }
 
+void RegScavenger::getRegsUsed(BitVector &used, bool includeReserved) {
+  if (includeReserved)
+    used = RegStates;
+  else
+    used = RegStates & ~ReservedRegs;
+}
+
 /// CreateRegClassMask - Set the bits that represent the registers in the
 /// TargetRegisterClass.
 static void CreateRegClassMask(const TargetRegisterClass *RC, BitVector &Mask) {