MipsSERegisterInfo.h revision 243830
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 void eliminateCallFramePseudoInstr(MachineFunction &MF, 35 MachineBasicBlock &MBB, 36 MachineBasicBlock::iterator I) const; 37 38private: 39 virtual void eliminateFI(MachineBasicBlock::iterator II, unsigned OpNo, 40 int FrameIndex, uint64_t StackSize, 41 int64_t SPOffset) const; 42}; 43 44} // end namespace llvm 45 46#endif 47