1 //===--------------------- R600FrameLowering.h ------------------*- C++ -*-===//
3 // 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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_LIB_TARGET_AMDGPU_R600FRAMELOWERING_H
10 #define LLVM_LIB_TARGET_AMDGPU_R600FRAMELOWERING_H
12 #include "AMDGPUFrameLowering.h"
16 class R600FrameLowering
: public AMDGPUFrameLowering
{
18 R600FrameLowering(StackDirection D
, Align StackAl
, int LAO
,
19 Align TransAl
= Align::None())
20 : AMDGPUFrameLowering(D
, StackAl
, LAO
, TransAl
) {}
21 ~R600FrameLowering() override
;
23 void emitPrologue(MachineFunction
&MF
,
24 MachineBasicBlock
&MBB
) const override
{}
25 void emitEpilogue(MachineFunction
&MF
,
26 MachineBasicBlock
&MBB
) const override
{}
27 int getFrameIndexReference(const MachineFunction
&MF
, int FI
,
28 unsigned &FrameReg
) const override
;
30 bool hasFP(const MachineFunction
&MF
) const override
{
35 } // end namespace llvm
37 #endif // LLVM_LIB_TARGET_AMDGPU_R600FRAMELOWERING_H