From 9085d8a9a9000eeaa7cf337ccbdca41d528c99c2 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 16 Jan 2003 18:35:57 +0000 Subject: Print machine frame objects with the frame offset intrinsic to the machine git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5329 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/MachineFunction.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'lib/CodeGen/MachineFunction.cpp') diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp index 46036d0b58..7ee2dcf457 100644 --- a/lib/CodeGen/MachineFunction.cpp +++ b/lib/CodeGen/MachineFunction.cpp @@ -120,7 +120,7 @@ void MachineFunction::print(std::ostream &OS) const { << "\"\n"; // Print Frame Information - getFrameInfo()->print(OS); + getFrameInfo()->print(*this, OS); // Print Constant Pool getConstantPool()->print(OS); @@ -188,7 +188,9 @@ int MachineFrameInfo::CreateStackObject(const TargetRegisterClass *RC) { } -void MachineFrameInfo::print(std::ostream &OS) const { +void MachineFrameInfo::print(const MachineFunction &MF, std::ostream &OS) const{ + int ValOffset = MF.getTarget().getFrameInfo().getOffsetOfLocalArea(); + for (unsigned i = 0, e = Objects.size(); i != e; ++i) { const StackObject &SO = Objects[i]; OS << " is "; @@ -200,11 +202,12 @@ void MachineFrameInfo::print(std::ostream &OS) const { if (i < NumFixedObjects) OS << " fixed"; if (i < NumFixedObjects || SO.SPOffset != -1) { + int Off = SO.SPOffset + ValOffset; OS << " at location [SP"; - if (SO.SPOffset > 0) - OS << "+" << SO.SPOffset; - else if (SO.SPOffset < 0) - OS << SO.SPOffset; + if (Off > 0) + OS << "+" << Off; + else if (Off < 0) + OS << Off; OS << "]"; } OS << "\n"; @@ -214,7 +217,9 @@ void MachineFrameInfo::print(std::ostream &OS) const { OS << " Stack frame contains variable sized objects\n"; } -void MachineFrameInfo::dump() const { print(std::cerr); } +void MachineFrameInfo::dump(const MachineFunction &MF) const { + print(MF, std::cerr); +} //===----------------------------------------------------------------------===// -- cgit v1.2.3-18-g5258