blob: fe367d73682fb759a4236a5c575307ad614047ab [file] [log] [blame]
Matt Arsenault43e92fe2016-06-24 06:30:11 +00001//===--------------------- 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
15namespace llvm {
16
17class R600FrameLowering : public AMDGPUFrameLowering {
18public:
19 R600FrameLowering(StackDirection D, unsigned StackAl, int LAO,
20 unsigned TransAl = 1) :
21 AMDGPUFrameLowering(D, StackAl, LAO, TransAl) {}
Eugene Zelenko2bc2f332016-12-09 22:06:55 +000022 ~R600FrameLowering() override;
Matt Arsenault43e92fe2016-06-24 06:30:11 +000023
Eugene Zelenko2bc2f332016-12-09 22:06:55 +000024 void emitPrologue(MachineFunction &MF,
25 MachineBasicBlock &MBB) const override {}
26 void emitEpilogue(MachineFunction &MF,
27 MachineBasicBlock &MBB) const override {}
Konstantin Zhuravlyovffdb00e2017-03-10 19:39:07 +000028 int getFrameIndexReference(const MachineFunction &MF, int FI,
29 unsigned &FrameReg) const override;
Matt Arsenaultb62a4eb2017-08-01 19:54:18 +000030
31 bool hasFP(const MachineFunction &MF) const override {
32 return false;
33 }
Matt Arsenault43e92fe2016-06-24 06:30:11 +000034};
35
Eugene Zelenko2bc2f332016-12-09 22:06:55 +000036} // end namespace llvm
Matt Arsenault43e92fe2016-06-24 06:30:11 +000037
Eugene Zelenko2bc2f332016-12-09 22:06:55 +000038#endif // LLVM_LIB_TARGET_AMDGPU_R600FRAMELOWERING_H