1 //===----------------------- AMDILFrameLowering.cpp -----------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //==-----------------------------------------------------------------------===//
10 // Interface to describe a layout of a stack frame on a AMDIL target machine
12 //===----------------------------------------------------------------------===//
13 #include "AMDILFrameLowering.h"
14 #include "llvm/CodeGen/MachineFrameInfo.h"
17 AMDILFrameLowering::AMDILFrameLowering(StackDirection D, unsigned StackAl,
18 int LAO, unsigned TransAl)
19 : TargetFrameLowering(D, StackAl, LAO, TransAl)
23 AMDILFrameLowering::~AMDILFrameLowering()
27 /// getFrameIndexOffset - Returns the displacement from the frame register to
28 /// the stack frame of the specified index.
29 int AMDILFrameLowering::getFrameIndexOffset(const MachineFunction &MF,
31 const MachineFrameInfo *MFI = MF.getFrameInfo();
32 return MFI->getObjectOffset(FI);
35 const TargetFrameLowering::SpillSlot *
36 AMDILFrameLowering::getCalleeSavedSpillSlots(unsigned &NumEntries) const
42 AMDILFrameLowering::emitPrologue(MachineFunction &MF) const
46 AMDILFrameLowering::emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const
50 AMDILFrameLowering::hasFP(const MachineFunction &MF) const