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 AMDGPUFrameLowering::AMDGPUFrameLowering(StackDirection D
, unsigned StackAl
,
18 int LAO
, unsigned TransAl
)
19 : TargetFrameLowering(D
, StackAl
, LAO
, TransAl
)
23 AMDGPUFrameLowering::~AMDGPUFrameLowering()
27 /// getFrameIndexOffset - Returns the displacement from the frame register to
28 /// the stack frame of the specified index.
29 int AMDGPUFrameLowering::getFrameIndexOffset(const MachineFunction
&MF
,
31 const MachineFrameInfo
*MFI
= MF
.getFrameInfo();
32 return MFI
->getObjectOffset(FI
);
35 const TargetFrameLowering::SpillSlot
*
36 AMDGPUFrameLowering::getCalleeSavedSpillSlots(unsigned &NumEntries
) const
42 AMDGPUFrameLowering::emitPrologue(MachineFunction
&MF
) const
46 AMDGPUFrameLowering::emitEpilogue(MachineFunction
&MF
, MachineBasicBlock
&MBB
) const
50 AMDGPUFrameLowering::hasFP(const MachineFunction
&MF
) const