1//===--------------------- SIFrameLowering.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_SIFRAMELOWERING_H
11#define LLVM_LIB_TARGET_AMDGPU_SIFRAMELOWERING_H
12
13#include "AMDGPUFrameLowering.h"
14
15namespace llvm {
16
17class SIFrameLowering final : public AMDGPUFrameLowering {
18public:
19  SIFrameLowering(StackDirection D, unsigned StackAl, int LAO,
20                  unsigned TransAl = 1) :
21    AMDGPUFrameLowering(D, StackAl, LAO, TransAl) {}
22  ~SIFrameLowering() override {}
23
24  void emitPrologue(MachineFunction &MF,
25                    MachineBasicBlock &MBB) const override;
26
27  void processFunctionBeforeFrameFinalized(
28    MachineFunction &MF,
29    RegScavenger *RS = nullptr) const override;
30};
31
32}
33
34#endif
35