blob: 283e4d1935ea1d7c322c885a9f418056879e1eee [file] [log] [blame]
Matt Arsenault43e92fe2016-06-24 06:30:11 +00001//===--------------------- R600FrameLowering.h ------------------*- C++ -*-===//
2//
Chandler Carruth2946cd72019-01-19 08:50:56 +00003// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
Matt Arsenault43e92fe2016-06-24 06:30:11 +00006//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_LIB_TARGET_AMDGPU_R600FRAMELOWERING_H
10#define LLVM_LIB_TARGET_AMDGPU_R600FRAMELOWERING_H
11
12#include "AMDGPUFrameLowering.h"
13
14namespace llvm {
15
16class R600FrameLowering : public AMDGPUFrameLowering {
17public:
Guillaume Chatelet882c43d2019-10-17 07:49:39 +000018 R600FrameLowering(StackDirection D, Align StackAl, int LAO,
Guillaume Chatelet3cc48352019-10-21 08:31:25 +000019 Align TransAl = Align::None())
Guillaume Chatelet882c43d2019-10-17 07:49:39 +000020 : AMDGPUFrameLowering(D, StackAl, LAO, TransAl) {}
Eugene Zelenko2bc2f332016-12-09 22:06:55 +000021 ~R600FrameLowering() override;
Matt Arsenault43e92fe2016-06-24 06:30:11 +000022
Eugene Zelenko2bc2f332016-12-09 22:06:55 +000023 void emitPrologue(MachineFunction &MF,
24 MachineBasicBlock &MBB) const override {}
25 void emitEpilogue(MachineFunction &MF,
26 MachineBasicBlock &MBB) const override {}
Konstantin Zhuravlyovffdb00e2017-03-10 19:39:07 +000027 int getFrameIndexReference(const MachineFunction &MF, int FI,
28 unsigned &FrameReg) const override;
Matt Arsenaultb62a4eb2017-08-01 19:54:18 +000029
30 bool hasFP(const MachineFunction &MF) const override {
31 return false;
32 }
Matt Arsenault43e92fe2016-06-24 06:30:11 +000033};
34
Eugene Zelenko2bc2f332016-12-09 22:06:55 +000035} // end namespace llvm
Matt Arsenault43e92fe2016-06-24 06:30:11 +000036
Eugene Zelenko2bc2f332016-12-09 22:06:55 +000037#endif // LLVM_LIB_TARGET_AMDGPU_R600FRAMELOWERING_H