1 //===--------------------- R600FrameLowering.h ------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLVM_LIB_TARGET_AMDGPU_R600FRAMELOWERING_H 11 #define LLVM_LIB_TARGET_AMDGPU_R600FRAMELOWERING_H 12 13 #include "AMDGPUFrameLowering.h" 14 15 namespace llvm { 16 17 class R600FrameLowering : public AMDGPUFrameLowering { 18 public: 19 R600FrameLowering(StackDirection D, unsigned StackAl, int LAO, 20 unsigned TransAl = 1) : AMDGPUFrameLowering(D,StackAl,LAO,TransAl)21 AMDGPUFrameLowering(D, StackAl, LAO, TransAl) {} 22 ~R600FrameLowering() override; 23 emitPrologue(MachineFunction & MF,MachineBasicBlock & MBB)24 void emitPrologue(MachineFunction &MF, 25 MachineBasicBlock &MBB) const override {} emitEpilogue(MachineFunction & MF,MachineBasicBlock & MBB)26 void emitEpilogue(MachineFunction &MF, 27 MachineBasicBlock &MBB) const override {} 28 int getFrameIndexReference(const MachineFunction &MF, int FI, 29 unsigned &FrameReg) const override; 30 hasFP(const MachineFunction & MF)31 bool hasFP(const MachineFunction &MF) const override { 32 return false; 33 } 34 }; 35 36 } // end namespace llvm 37 38 #endif // LLVM_LIB_TARGET_AMDGPU_R600FRAMELOWERING_H 39