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