1239310Sdim//===-- MipsSERegisterInfo.h - Mips32/64 Register Information ---*- C++ -*-===// 2239310Sdim// 3239310Sdim// The LLVM Compiler Infrastructure 4239310Sdim// 5239310Sdim// This file is distributed under the University of Illinois Open Source 6239310Sdim// License. See LICENSE.TXT for details. 7239310Sdim// 8239310Sdim//===----------------------------------------------------------------------===// 9239310Sdim// 10239310Sdim// This file contains the Mips32/64 implementation of the TargetRegisterInfo 11239310Sdim// class. 12239310Sdim// 13239310Sdim//===----------------------------------------------------------------------===// 14239310Sdim 15280031Sdim#ifndef LLVM_LIB_TARGET_MIPS_MIPSSEREGISTERINFO_H 16280031Sdim#define LLVM_LIB_TARGET_MIPS_MIPSSEREGISTERINFO_H 17239310Sdim 18239310Sdim#include "MipsRegisterInfo.h" 19239310Sdim 20239310Sdimnamespace llvm { 21243830Sdimclass MipsSEInstrInfo; 22239310Sdim 23239310Sdimclass MipsSERegisterInfo : public MipsRegisterInfo { 24239310Sdimpublic: 25288943Sdim MipsSERegisterInfo(); 26239310Sdim 27276479Sdim bool requiresRegisterScavenging(const MachineFunction &MF) const override; 28243830Sdim 29276479Sdim bool requiresFrameIndexScavenging(const MachineFunction &MF) const override; 30243830Sdim 31276479Sdim const TargetRegisterClass *intRegClass(unsigned Size) const override; 32239310Sdim 33239310Sdimprivate: 34276479Sdim void eliminateFI(MachineBasicBlock::iterator II, unsigned OpNo, 35276479Sdim int FrameIndex, uint64_t StackSize, 36276479Sdim int64_t SPOffset) const override; 37239310Sdim}; 38239310Sdim 39239310Sdim} // end namespace llvm 40239310Sdim 41239310Sdim#endif 42