MipsSERegisterInfo.h revision 700ed80d3da5e98e05ceb90e9bfb66058581a6db
1//===-- MipsSERegisterInfo.h - Mips32/64 Register Information ---*- 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// This file contains the Mips32/64 implementation of the TargetRegisterInfo 11// class. 12// 13//===----------------------------------------------------------------------===// 14 15#ifndef MIPSSEREGISTERINFO_H 16#define MIPSSEREGISTERINFO_H 17 18#include "MipsRegisterInfo.h" 19 20namespace llvm { 21class MipsSEInstrInfo; 22 23class MipsSERegisterInfo : public MipsRegisterInfo { 24 const MipsSEInstrInfo &TII; 25 26public: 27 MipsSERegisterInfo(const MipsSubtarget &Subtarget, 28 const MipsSEInstrInfo &TII); 29 30 bool requiresRegisterScavenging(const MachineFunction &MF) const; 31 32 bool requiresFrameIndexScavenging(const MachineFunction &MF) const; 33 34private: 35 virtual void eliminateFI(MachineBasicBlock::iterator II, unsigned OpNo, 36 int FrameIndex, uint64_t StackSize, 37 int64_t SPOffset) const; 38}; 39 40} // end namespace llvm 41 42#endif 43