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