Added class MachineCodeForMethod.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@947 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp
index 2ec791f..b4f275d 100644
--- a/lib/CodeGen/MachineInstr.cpp
+++ b/lib/CodeGen/MachineInstr.cpp
@@ -176,7 +176,45 @@
 
 
 void
-PrintMachineInstructions(const Method *const method)
+MachineCodeForMethod::putLocalVarAtOffsetFromFP(const Value* local,
+                                                int offset,
+                                                unsigned int size)
+{
+  offsetsFromFP[local] = offset;
+  incrementAutomaticVarsSize(size);
+}
+
+
+void
+MachineCodeForMethod::putLocalVarAtOffsetFromSP(const Value* local,
+                                                int offset,
+                                                unsigned int size)
+{
+  offsetsFromSP[local] = offset;
+  incrementAutomaticVarsSize(size);
+}
+
+
+int
+MachineCodeForMethod::getOffsetFromFP(const Value* local) const
+{
+  hash_map<const Value*, int>::const_iterator pair = offsetsFromFP.find(local);
+  assert(pair != offsetsFromFP.end() && "Offset from FP unknown for Value");
+  return (*pair).second;
+}
+
+
+int
+MachineCodeForMethod::getOffsetFromSP(const Value* local) const
+{
+  hash_map<const Value*, int>::const_iterator pair = offsetsFromSP.find(local);
+  assert(pair != offsetsFromSP.end() && "Offset from SP unknown for Value");
+  return (*pair).second;
+}
+
+
+void
+MachineCodeForMethod::dump() const
 {
   cout << "\n" << method->getReturnType()
        << " \"" << method->getName() << "\"" << endl;