13447SN/A//===-- Mips16FrameLowering.h - Mips16 frame lowering ----------*- C++ -*-===// 23447SN/A// 33447SN/A// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 43447SN/A// See https://llvm.org/LICENSE.txt for license information. 53447SN/A// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 63447SN/A// 73447SN/A//===----------------------------------------------------------------------===// 83447SN/A// 93447SN/A// 103447SN/A// 113447SN/A//===----------------------------------------------------------------------===// 123447SN/A 133447SN/A#ifndef LLVM_LIB_TARGET_MIPS_MIPS16FRAMELOWERING_H 143447SN/A#define LLVM_LIB_TARGET_MIPS_MIPS16FRAMELOWERING_H 153447SN/A 163447SN/A#include "MipsFrameLowering.h" 173447SN/A 183447SN/Anamespace llvm { 193447SN/Aclass Mips16FrameLowering : public MipsFrameLowering { 203447SN/Apublic: 213447SN/A explicit Mips16FrameLowering(const MipsSubtarget &STI); 223447SN/A 233447SN/A /// emitProlog/emitEpilog - These methods insert prolog and epilog code into 243447SN/A /// the function. 253447SN/A void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 263447SN/A void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override; 273447SN/A 283447SN/A bool spillCalleeSavedRegisters(MachineBasicBlock &MBB, 2911707Stpivovarova MachineBasicBlock::iterator MI, 3011707Stpivovarova ArrayRef<CalleeSavedInfo> CSI, 3111707Stpivovarova const TargetRegisterInfo *TRI) const override; 323447SN/A 333447SN/A bool 3411707Stpivovarova restoreCalleeSavedRegisters(MachineBasicBlock &MBB, 3511707Stpivovarova MachineBasicBlock::iterator MI, 363447SN/A MutableArrayRef<CalleeSavedInfo> CSI, 373447SN/A const TargetRegisterInfo *TRI) const override; 383447SN/A 393447SN/A bool hasReservedCallFrame(const MachineFunction &MF) const override; 403447SN/A 413447SN/A void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, 423447SN/A RegScavenger *RS) const override; 433447SN/A}; 443447SN/A 453447SN/A} // End llvm namespace 463447SN/A 473447SN/A#endif 483447SN/A