18589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka//===-- MipsSERegisterInfo.h - Mips32/64 Register Information ---*- C++ -*-===// 28589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka// 38589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka// The LLVM Compiler Infrastructure 48589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka// 58589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka// This file is distributed under the University of Illinois Open Source 68589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka// License. See LICENSE.TXT for details. 78589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka// 88589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka//===----------------------------------------------------------------------===// 98589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka// 108589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka// This file contains the Mips32/64 implementation of the TargetRegisterInfo 118589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka// class. 128589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka// 138589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka//===----------------------------------------------------------------------===// 148589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka 158589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka#ifndef MIPSSEREGISTERINFO_H 168589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka#define MIPSSEREGISTERINFO_H 178589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka 188589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka#include "MipsRegisterInfo.h" 198589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka 208589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanakanamespace llvm { 2191a35f03da446009cd1de4cdabaa1cdec7e74e0cAkira Hatanakaclass MipsSEInstrInfo; 228589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka 238589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanakaclass MipsSERegisterInfo : public MipsRegisterInfo { 248589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanakapublic: 2541e632d9e1a55d36cb08b0551ad82a13d9137a5eBill Wendling MipsSERegisterInfo(const MipsSubtarget &Subtarget); 268589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka 27dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines bool requiresRegisterScavenging(const MachineFunction &MF) const override; 2811a45c214c26bdc49ef58c0eb214df5200867ceeAkira Hatanaka 29dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines bool requiresFrameIndexScavenging(const MachineFunction &MF) const override; 3011a45c214c26bdc49ef58c0eb214df5200867ceeAkira Hatanaka 31dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines const TargetRegisterClass *intRegClass(unsigned Size) const override; 325114226c1896f250be8881adf67d55a7e54b50fcAkira Hatanaka 338589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanakaprivate: 34dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines void eliminateFI(MachineBasicBlock::iterator II, unsigned OpNo, 35dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines int FrameIndex, uint64_t StackSize, 36dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines int64_t SPOffset) const override; 378589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka}; 388589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka 398589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka} // end namespace llvm 408589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka 418589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka#endif 42