Fix float to int codepath by always allocating 8 bytes for the target of a double...
[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 // This method adjusts a stack offset to meet alignment rules of target.
25 int 
26 TargetFrameInfo::adjustAlignment(int unalignedOffset, bool growUp,
27                                  unsigned align) const { abort(); }
28
29 // These methods compute offsets using the frame contents for a particular
30 // function.  The frame contents are obtained from the MachineFunction object
31 // for the given function.  The rest must be implemented by the
32 // machine-specific subclass.
33 // 
34 int
35 TargetFrameInfo::getIncomingArgOffset(MachineFunction& mcInfo, unsigned argNum)
36   const{ abort(); }
37
38 int
39 TargetFrameInfo::getOutgoingArgOffset(MachineFunction& mcInfo,
40                                       unsigned argNum) const { abort(); }
41
42 int
43 TargetFrameInfo::getFirstAutomaticVarOffset(MachineFunction& mcInfo,
44                                             bool& growUp) const { abort(); }
45
46 int 
47 TargetFrameInfo::getRegSpillAreaOffset(MachineFunction& mcInfo, bool& growUp)
48   const { abort(); }
49
50 int
51 TargetFrameInfo::getTmpAreaOffset(MachineFunction& mcInfo, bool& growUp) const
52 { abort(); }
53
54 int 
55 TargetFrameInfo::getDynamicAreaOffset(MachineFunction& mcInfo, bool& growUp)
56   const { abort(); }
57