Expand subregisters in MachineFrameInfo::getPristineRegs
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>
Thu, 19 Nov 2015 21:18:52 +0000 (21:18 +0000)
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>
Thu, 19 Nov 2015 21:18:52 +0000 (21:18 +0000)
http://reviews.llvm.org/D14719

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

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.
     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;
 }
 
   return BV;
 }