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 20 namespace llvm { 21 class MipsSEInstrInfo; 22 23 class MipsSERegisterInfo : public MipsRegisterInfo { 24 public: 25 MipsSERegisterInfo(const MipsSubtarget &Subtarget); 26 27 bool requiresRegisterScavenging(const MachineFunction &MF) const; 28 29 bool requiresFrameIndexScavenging(const MachineFunction &MF) const; 30 31 virtual const TargetRegisterClass *intRegClass(unsigned Size) const; 32 33 private: 34 virtual void eliminateFI(MachineBasicBlock::iterator II, unsigned OpNo, 35 int FrameIndex, uint64_t StackSize, 36 int64_t SPOffset) const; 37 }; 38 39 } // end namespace llvm 40 41 #endif 42