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 const MipsSEInstrInfo &TII; 25 26 public: 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 private: 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