diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2004-03-11 23:52:43 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2004-03-11 23:52:43 +0000 |
commit | b8bda131403066c710c5b7d7dfdf0f930b722c77 (patch) | |
tree | 95c0c3828fb031b2e016db2c6b2568dbb8dcd1e3 /lib/Target/TargetFrameInfo.cpp | |
parent | 242e94ab268a6f614e0820540bda846a4b3306a9 (diff) |
Move implementations of functions here, which avoids #including <cstdlib> in the
header file and all those who #include it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12297 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/TargetFrameInfo.cpp')
-rw-r--r-- | lib/Target/TargetFrameInfo.cpp | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/lib/Target/TargetFrameInfo.cpp b/lib/Target/TargetFrameInfo.cpp new file mode 100644 index 0000000000..d9f8a575e2 --- /dev/null +++ b/lib/Target/TargetFrameInfo.cpp @@ -0,0 +1,86 @@ +//===-- TargetFrameInfo.cpp - Implement machine frame interface -*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file was developed by the LLVM research group and is distributed under +// the University of Illinois Open Source License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// Implements the layout of a stack frame on the target machine. +// +//===----------------------------------------------------------------------===// + +#include "llvm/Target/TargetFrameInfo.h" +#include <cstdlib> + +using namespace llvm; + +//===--------------------------------------------------------------------===// +// These methods provide details of the stack frame used by Sparc, thus they +// 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, + unsigned align) const { abort(); } + +// These methods compute offsets using the frame contents for a particular +// function. The frame contents are obtained from the MachineFunction object +// for the given function. The rest must be implemented by the +// machine-specific subclass. +// +int +TargetFrameInfo::getIncomingArgOffset(MachineFunction& mcInfo, unsigned argNum) + const{ abort(); } + +int +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(); } + +int +TargetFrameInfo::getRegSpillAreaOffset(MachineFunction& mcInfo, bool& growUp) + const { abort(); } + +int +TargetFrameInfo::getTmpAreaOffset(MachineFunction& mcInfo, bool& growUp) const +{ abort(); } + +int +TargetFrameInfo::getDynamicAreaOffset(MachineFunction& mcInfo, bool& growUp) + const { abort(); } + +// +// These methods specify the base register used for each stack area +// (generally FP or SP) +// +int TargetFrameInfo::getIncomingArgBaseRegNum() const { abort(); } +int TargetFrameInfo::getOutgoingArgBaseRegNum() const { abort(); } +int TargetFrameInfo::getOptionalOutgoingArgBaseRegNum() const {abort();} +int TargetFrameInfo::getAutomaticVarBaseRegNum() const { abort(); } +int TargetFrameInfo::getRegSpillAreaBaseRegNum() const { abort(); } +int TargetFrameInfo::getDynamicAreaBaseRegNum() const { abort(); } + |