Renamed PPC32 (namespace for regs, opcodes) to PPC to include 64-bit targets
[oota-llvm.git] / lib / Target / TargetFrameInfo.cpp
1 //===-- TargetFrameInfo.cpp - Implement machine frame interface -*- C++ -*-===//
2 // 
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file was developed by the LLVM research group and is distributed under
6 // the University of Illinois Open Source License. See LICENSE.TXT for details.
7 // 
8 //===----------------------------------------------------------------------===//
9 //
10 // Implements the layout of a stack frame on the target machine.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #include "llvm/Target/TargetFrameInfo.h"
15 #include <cstdlib>
16
17 using namespace llvm;
18
19 //===--------------------------------------------------------------------===//
20 // These methods provide details of the stack frame used by Sparc, thus they
21 // are Sparc specific.
22 //===--------------------------------------------------------------------===//
23
24 int TargetFrameInfo::getStackFrameSizeAlignment() const { abort(); }
25 int TargetFrameInfo::getMinStackFrameSize() const { abort(); }
26 int TargetFrameInfo::getNumFixedOutgoingArgs() const { abort(); }
27 int TargetFrameInfo::getSizeOfEachArgOnStack() const { abort(); }
28 bool TargetFrameInfo::argsOnStackHaveFixedSize() const { abort(); }
29
30 // This method adjusts a stack offset to meet alignment rules of target.
31 int 
32 TargetFrameInfo::adjustAlignment(int unalignedOffset, bool growUp,
33                                  unsigned align) const { abort(); }
34
35 // These methods compute offsets using the frame contents for a particular
36 // function.  The frame contents are obtained from the MachineFunction object
37 // for the given function.  The rest must be implemented by the
38 // machine-specific subclass.
39 // 
40 int
41 TargetFrameInfo::getIncomingArgOffset(MachineFunction& mcInfo, unsigned argNum)
42   const{ abort(); }
43
44 int
45 TargetFrameInfo::getOutgoingArgOffset(MachineFunction& mcInfo,
46                                       unsigned argNum) const { abort(); }
47
48 int
49 TargetFrameInfo::getFirstIncomingArgOffset(MachineFunction& mcInfo,
50                                            bool& growUp) const { abort(); }
51
52 int
53 TargetFrameInfo::getFirstOutgoingArgOffset(MachineFunction& mcInfo,
54                                            bool& growUp) const { abort(); }
55
56 int
57 TargetFrameInfo::getFirstOptionalOutgoingArgOffset(MachineFunction&,
58                                                 bool& growUp) const { abort(); }
59
60 int
61 TargetFrameInfo::getFirstAutomaticVarOffset(MachineFunction& mcInfo,
62                                             bool& growUp) const { abort(); }
63
64 int 
65 TargetFrameInfo::getRegSpillAreaOffset(MachineFunction& mcInfo, bool& growUp)
66   const { abort(); }
67
68 int
69 TargetFrameInfo::getTmpAreaOffset(MachineFunction& mcInfo, bool& growUp) const
70 { abort(); }
71
72 int 
73 TargetFrameInfo::getDynamicAreaOffset(MachineFunction& mcInfo, bool& growUp)
74   const { abort(); }
75
76 //
77 // These methods specify the base register used for each stack area
78 // (generally FP or SP)
79 // 
80 int TargetFrameInfo::getIncomingArgBaseRegNum() const { abort(); }
81 int TargetFrameInfo::getOutgoingArgBaseRegNum() const { abort(); }
82 int TargetFrameInfo::getOptionalOutgoingArgBaseRegNum() const {abort();}
83 int TargetFrameInfo::getAutomaticVarBaseRegNum() const { abort(); }
84 int TargetFrameInfo::getRegSpillAreaBaseRegNum() const { abort(); }
85 int TargetFrameInfo::getDynamicAreaBaseRegNum()  const { abort(); }
86