1a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//===----------------------- AMDILFrameLowering.cpp -----------------*- C++ -*-===//
2a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//
3a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//                     The LLVM Compiler Infrastructure
4a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//
5a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard// This file is distributed under the University of Illinois Open Source
6a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard// License. See LICENSE.TXT for details.
7a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//
8a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//==-----------------------------------------------------------------------===//
9a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//
10a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard// Interface to describe a layout of a stack frame on a AMDIL target machine
11a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//
12a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//===----------------------------------------------------------------------===//
13a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard#include "AMDILFrameLowering.h"
14a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard#include "llvm/CodeGen/MachineFrameInfo.h"
15a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
16a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardusing namespace llvm;
172f921101c0826dc52a2c69f85c3da0f7f6e8212aTom StellardAMDGPUFrameLowering::AMDGPUFrameLowering(StackDirection D, unsigned StackAl,
18a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard    int LAO, unsigned TransAl)
19a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard  : TargetFrameLowering(D, StackAl, LAO, TransAl)
20a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard{
21a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard}
22a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
232f921101c0826dc52a2c69f85c3da0f7f6e8212aTom StellardAMDGPUFrameLowering::~AMDGPUFrameLowering()
24a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard{
25a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard}
26a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
27a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard/// getFrameIndexOffset - Returns the displacement from the frame register to
28a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard/// the stack frame of the specified index.
292f921101c0826dc52a2c69f85c3da0f7f6e8212aTom Stellardint AMDGPUFrameLowering::getFrameIndexOffset(const MachineFunction &MF,
30a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard                                         int FI) const {
31a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard  const MachineFrameInfo *MFI = MF.getFrameInfo();
32a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard  return MFI->getObjectOffset(FI);
33a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard}
34a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
35a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardconst TargetFrameLowering::SpillSlot *
362f921101c0826dc52a2c69f85c3da0f7f6e8212aTom StellardAMDGPUFrameLowering::getCalleeSavedSpillSlots(unsigned &NumEntries) const
37a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard{
38a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard  NumEntries = 0;
39a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard  return 0;
40a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard}
41a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardvoid
422f921101c0826dc52a2c69f85c3da0f7f6e8212aTom StellardAMDGPUFrameLowering::emitPrologue(MachineFunction &MF) const
43a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard{
44a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard}
45a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardvoid
462f921101c0826dc52a2c69f85c3da0f7f6e8212aTom StellardAMDGPUFrameLowering::emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const
47a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard{
48a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard}
49a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardbool
502f921101c0826dc52a2c69f85c3da0f7f6e8212aTom StellardAMDGPUFrameLowering::hasFP(const MachineFunction &MF) const
51a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard{
52a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard  return false;
53a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard}
54