Expand subregisters in MachineFrameInfo::getPristineRegs
[oota-llvm.git] / lib / CodeGen / MachineFunction.cpp
index 7e4c9b779f293300c43c754f064fadbbdebea377..7e6af1c9c41f627d65cf2ad702ddc39cb8103072 100644 (file)
@@ -620,10 +620,9 @@ BitVector MachineFrameInfo::getPristineRegs(const MachineFunction &MF) const {
     BV.set(*CSR);
 
   // Saved CSRs are not pristine.
-  const std::vector<CalleeSavedInfo> &CSI = getCalleeSavedInfo();
-  for (std::vector<CalleeSavedInfo>::const_iterator I = CSI.begin(),
-         E = CSI.end(); I != E; ++I)
-    BV.reset(I->getReg());
+  for (auto &I : getCalleeSavedInfo())
+    for (MCSubRegIterator S(I.getReg(), TRI, true); S.isValid(); ++S)
+      BV.reset(*S);
 
   return BV;
 }