aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Target/TargetFrameInfo.h12
-rw-r--r--lib/Target/SparcV9/SparcV9FrameInfo.cpp6
-rw-r--r--lib/Target/SparcV9/SparcV9FrameInfo.h47
-rw-r--r--lib/Target/TargetFrameInfo.cpp18
4 files changed, 7 insertions, 76 deletions
diff --git a/include/llvm/Target/TargetFrameInfo.h b/include/llvm/Target/TargetFrameInfo.h
index 14a98a0..a85cd87 100644
--- a/include/llvm/Target/TargetFrameInfo.h
+++ b/include/llvm/Target/TargetFrameInfo.h
@@ -61,12 +61,6 @@ public:
// are Sparc specific.
//===--------------------------------------------------------------------===//
- virtual int getStackFrameSizeAlignment () const;
- virtual int getMinStackFrameSize () const;
- virtual int getNumFixedOutgoingArgs () const;
- virtual int getSizeOfEachArgOnStack () const;
- virtual bool argsOnStackHaveFixedSize () const;
-
// This method adjusts a stack offset to meet alignment rules of target.
virtual int adjustAlignment(int unalignedOffset, bool growUp,
unsigned align) const;
@@ -81,12 +75,6 @@ public:
virtual int getOutgoingArgOffset (MachineFunction& mcInfo,
unsigned argNum) const;
- virtual int getFirstIncomingArgOffset (MachineFunction& mcInfo,
- bool& growUp) const;
- virtual int getFirstOutgoingArgOffset (MachineFunction& mcInfo,
- bool& growUp) const;
- virtual int getFirstOptionalOutgoingArgOffset (MachineFunction&,
- bool& growUp) const;
virtual int getFirstAutomaticVarOffset (MachineFunction& mcInfo,
bool& growUp) const;
virtual int getRegSpillAreaOffset (MachineFunction& mcInfo,
diff --git a/lib/Target/SparcV9/SparcV9FrameInfo.cpp b/lib/Target/SparcV9/SparcV9FrameInfo.cpp
index 6727aac..26d92eb 100644
--- a/lib/Target/SparcV9/SparcV9FrameInfo.cpp
+++ b/lib/Target/SparcV9/SparcV9FrameInfo.cpp
@@ -19,12 +19,6 @@
using namespace llvm;
int
-SparcV9FrameInfo::getFirstAutomaticVarOffset(MachineFunction&, bool& pos) const {
- pos = false; // static stack area grows downwards
- return StaticAreaOffsetFromFP;
-}
-
-int
SparcV9FrameInfo::getRegSpillAreaOffset(MachineFunction& mcInfo, bool& pos) const
{
// ensure no more auto vars are added
diff --git a/lib/Target/SparcV9/SparcV9FrameInfo.h b/lib/Target/SparcV9/SparcV9FrameInfo.h
index 9f1e8bc..b447777 100644
--- a/lib/Target/SparcV9/SparcV9FrameInfo.h
+++ b/lib/Target/SparcV9/SparcV9FrameInfo.h
@@ -8,8 +8,6 @@
//===----------------------------------------------------------------------===//
//
// Interface to stack frame layout info for the UltraSPARC.
-// Starting offsets for each area of the stack frame are aligned at
-// a multiple of getStackFrameSizeAlignment().
//
//----------------------------------------------------------------------------
@@ -28,15 +26,6 @@ public:
SparcV9FrameInfo(const TargetMachine &TM)
: TargetFrameInfo(StackGrowsDown, StackFrameSizeAlignment, 0), target(TM) {}
-public:
- // These methods provide constant parameters of the frame layout.
- //
- int getStackFrameSizeAlignment() const { return StackFrameSizeAlignment;}
- int getMinStackFrameSize() const { return MinStackFrameSize; }
- int getNumFixedOutgoingArgs() const { return NumFixedOutgoingArgs; }
- int getSizeOfEachArgOnStack() const { return SizeOfEachArgOnStack; }
- bool argsOnStackHaveFixedSize() const { return true; }
-
// This method adjusts a stack offset to meet alignment rules of target.
// The fixed OFFSET (0x7ff) must be subtracted and the result aligned.
virtual int adjustAlignment(int unalignedOffset, bool growUp,
@@ -48,45 +37,24 @@ public:
// particular function. The frame contents are obtained from the
// MachineCodeInfoForMethod object for the given function.
//
- int getFirstIncomingArgOffset(MachineFunction& mcInfo, bool& growUp) const {
- growUp = true; // arguments area grows upwards
- return FirstIncomingArgOffsetFromFP;
- }
- int getFirstOutgoingArgOffset(MachineFunction& mcInfo, bool& growUp) const {
- growUp = true; // arguments area grows upwards
- return FirstOutgoingArgOffsetFromSP;
+ int getFirstAutomaticVarOffset(MachineFunction& mcInfo, bool& growUp) const {
+ growUp = false;
+ return StaticAreaOffsetFromFP;
}
- int getFirstOptionalOutgoingArgOffset(MachineFunction& mcInfo,
- bool& growUp) const {
- growUp = true; // arguments area grows upwards
- return FirstOptionalOutgoingArgOffsetFromSP;
- }
-
- int getFirstAutomaticVarOffset(MachineFunction& mcInfo, bool& growUp) const;
int getRegSpillAreaOffset(MachineFunction& mcInfo, bool& growUp) const;
int getTmpAreaOffset(MachineFunction& mcInfo, bool& growUp) const;
int getDynamicAreaOffset(MachineFunction& mcInfo, bool& growUp) const;
virtual int getIncomingArgOffset(MachineFunction& mcInfo,
unsigned argNum) const {
- assert(argsOnStackHaveFixedSize());
-
- unsigned relativeOffset = argNum * getSizeOfEachArgOnStack();
- bool growUp; // do args grow up or down
- int firstArg = getFirstIncomingArgOffset(mcInfo, growUp);
- return growUp ? firstArg + relativeOffset : firstArg - relativeOffset;
+ unsigned relativeOffset = argNum * SizeOfEachArgOnStack;
+ int firstArg = FirstIncomingArgOffsetFromFP;
+ return firstArg + relativeOffset;
}
virtual int getOutgoingArgOffset(MachineFunction& mcInfo,
unsigned argNum) const {
- assert(argsOnStackHaveFixedSize());
- //assert(((int) argNum - this->getNumFixedOutgoingArgs())
- // <= (int) mcInfo.getInfo()->getMaxOptionalNumArgs());
-
- unsigned relativeOffset = argNum * getSizeOfEachArgOnStack();
- bool growUp; // do args grow up or down
- int firstArg = getFirstOutgoingArgOffset(mcInfo, growUp);
- return growUp ? firstArg + relativeOffset : firstArg - relativeOffset;
+ return FirstOutgoingArgOffsetFromSP + argNum * SizeOfEachArgOnStack;
}
/*----------------------------------------------------------------------
@@ -136,7 +104,6 @@ public:
static const int OFFSET = (int) 0x7ff;
static const int StackFrameSizeAlignment = 16;
static const int MinStackFrameSize = 176;
- static const int NumFixedOutgoingArgs = 6;
static const int SizeOfEachArgOnStack = 8;
static const int FirstIncomingArgOffsetFromFP = 128 + OFFSET;
static const int FirstOptionalIncomingArgOffsetFromFP = 176 + OFFSET;
diff --git a/lib/Target/TargetFrameInfo.cpp b/lib/Target/TargetFrameInfo.cpp
index 51b2219..7a695c8 100644
--- a/lib/Target/TargetFrameInfo.cpp
+++ b/lib/Target/TargetFrameInfo.cpp
@@ -21,12 +21,6 @@ using namespace llvm;
// are Sparc specific.
//===--------------------------------------------------------------------===//
-int TargetFrameInfo::getStackFrameSizeAlignment() const { abort(); }
-int TargetFrameInfo::getMinStackFrameSize() const { abort(); }
-int TargetFrameInfo::getNumFixedOutgoingArgs() const { abort(); }
-int TargetFrameInfo::getSizeOfEachArgOnStack() const { abort(); }
-bool TargetFrameInfo::argsOnStackHaveFixedSize() const { abort(); }
-
// This method adjusts a stack offset to meet alignment rules of target.
int
TargetFrameInfo::adjustAlignment(int unalignedOffset, bool growUp,
@@ -46,18 +40,6 @@ TargetFrameInfo::getOutgoingArgOffset(MachineFunction& mcInfo,
unsigned argNum) const { abort(); }
int
-TargetFrameInfo::getFirstIncomingArgOffset(MachineFunction& mcInfo,
- bool& growUp) const { abort(); }
-
-int
-TargetFrameInfo::getFirstOutgoingArgOffset(MachineFunction& mcInfo,
- bool& growUp) const { abort(); }
-
-int
-TargetFrameInfo::getFirstOptionalOutgoingArgOffset(MachineFunction&,
- bool& growUp) const { abort(); }
-
-int
TargetFrameInfo::getFirstAutomaticVarOffset(MachineFunction& mcInfo,
bool& growUp) const { abort(); }