MipsSERegisterInfo.h revision 249423
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 34 virtual const TargetRegisterClass *intRegClass(unsigned Size) const; 35 36private: 37 virtual void eliminateFI(MachineBasicBlock::iterator II, unsigned OpNo, 38 int FrameIndex, uint64_t StackSize, 39 int64_t SPOffset) const; 40}; 41 42} // end namespace llvm 43 44#endif 45