MIR Serialization: Serialize the local offsets for the stack objects.
[oota-llvm.git] / lib / CodeGen / MIRPrinter.cpp
index 6c8acb531da7a4f18fe2862e7815db69aae62eb6..57e9d87514832f818206cf1f9e9ac546c1c63027 100644 (file)
@@ -324,6 +324,15 @@ void MIRPrinter::convertStackObjects(yaml::MachineFunction &MF,
     else
       MF.StackObjects[StackObject.ID].CalleeSavedRegister = Reg;
   }
+  for (unsigned I = 0, E = MFI.getLocalFrameObjectCount(); I < E; ++I) {
+    auto LocalObject = MFI.getLocalFrameObjectMap(I);
+    auto StackObjectInfo = StackObjectOperandMapping.find(LocalObject.first);
+    assert(StackObjectInfo != StackObjectOperandMapping.end() &&
+           "Invalid stack object index");
+    const FrameIndexOperand &StackObject = StackObjectInfo->second;
+    assert(!StackObject.IsFixed && "Expected a locally mapped stack object");
+    MF.StackObjects[StackObject.ID].LocalOffset = LocalObject.second;
+  }
 }
 
 void MIRPrinter::convert(yaml::MachineFunction &MF,