aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-06-11 06:37:11 +0000
committerChris Lattner <sabre@nondot.org>2004-06-11 06:37:11 +0000
commit7f7bbc2fdb833485ac3d865a405fd948e58e8ddb (patch)
treefd18ea576bb35a3e4209dc7913bc0efce50f7535 /lib
parent9f35196fc22fc807eb5fd6d0e5c58685bf79c056 (diff)
downloadexternal_llvm-7f7bbc2fdb833485ac3d865a405fd948e58e8ddb.zip
external_llvm-7f7bbc2fdb833485ac3d865a405fd948e58e8ddb.tar.gz
external_llvm-7f7bbc2fdb833485ac3d865a405fd948e58e8ddb.tar.bz2
Fix fallout from getOffsetOfLocalArea() being negated. Debugging dumps were being
printed incorrectly, and we were reserving 8 extra bytes of stack space for functions on X86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14152 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/MachineFunction.cpp2
-rw-r--r--lib/CodeGen/PrologEpilogInserter.cpp4
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp
index 221d67b..4dfd7f7 100644
--- a/lib/CodeGen/MachineFunction.cpp
+++ b/lib/CodeGen/MachineFunction.cpp
@@ -201,7 +201,7 @@ void MachineFrameInfo::print(const MachineFunction &MF, std::ostream &OS) const{
if (i < NumFixedObjects)
OS << " fixed";
if (i < NumFixedObjects || SO.SPOffset != -1) {
- int Off = SO.SPOffset + ValOffset;
+ int Off = SO.SPOffset - ValOffset;
OS << " at location [SP";
if (Off > 0)
OS << "+" << Off;
diff --git a/lib/CodeGen/PrologEpilogInserter.cpp b/lib/CodeGen/PrologEpilogInserter.cpp
index e9a998b..6157e3f 100644
--- a/lib/CodeGen/PrologEpilogInserter.cpp
+++ b/lib/CodeGen/PrologEpilogInserter.cpp
@@ -206,7 +206,7 @@ void PEI::calculateFrameObjectOffsets(MachineFunction &Fn) {
// of stack growth -- so it's always positive.
int Offset = TFI.getOffsetOfLocalArea();
if (StackGrowsDown)
- Offset = -Offset;
+ Offset = -Offset;
assert(Offset >= 0
&& "Local area offset should be in direction of stack growth");
@@ -256,7 +256,7 @@ void PEI::calculateFrameObjectOffsets(MachineFunction &Fn) {
Offset = (Offset+StackAlignment-1)/StackAlignment*StackAlignment;
// Set the final value of the stack pointer...
- FFI->setStackSize(Offset-TFI.getOffsetOfLocalArea());
+ FFI->setStackSize(Offset+TFI.getOffsetOfLocalArea());
}