1292915Sdim//===--------------------- SIFrameLowering.h --------------------*- C++ -*-===//
2292915Sdim//
3292915Sdim//                     The LLVM Compiler Infrastructure
4292915Sdim//
5292915Sdim// This file is distributed under the University of Illinois Open Source
6292915Sdim// License. See LICENSE.TXT for details.
7292915Sdim//
8292915Sdim//===----------------------------------------------------------------------===//
9292915Sdim
10292915Sdim#ifndef LLVM_LIB_TARGET_AMDGPU_SIFRAMELOWERING_H
11292915Sdim#define LLVM_LIB_TARGET_AMDGPU_SIFRAMELOWERING_H
12292915Sdim
13292915Sdim#include "AMDGPUFrameLowering.h"
14292915Sdim
15292915Sdimnamespace llvm {
16292915Sdim
17292915Sdimclass SIFrameLowering final : public AMDGPUFrameLowering {
18292915Sdimpublic:
19292915Sdim  SIFrameLowering(StackDirection D, unsigned StackAl, int LAO,
20292915Sdim                  unsigned TransAl = 1) :
21292915Sdim    AMDGPUFrameLowering(D, StackAl, LAO, TransAl) {}
22292915Sdim  ~SIFrameLowering() override {}
23292915Sdim
24292915Sdim  void emitPrologue(MachineFunction &MF,
25292915Sdim                    MachineBasicBlock &MBB) const override;
26292915Sdim
27292915Sdim  void processFunctionBeforeFrameFinalized(
28292915Sdim    MachineFunction &MF,
29292915Sdim    RegScavenger *RS = nullptr) const override;
30292915Sdim};
31292915Sdim
32292915Sdim}
33292915Sdim
34292915Sdim#endif
35