MipsSERegisterInfo.h revision 91a35f03da446009cd1de4cdabaa1cdec7e74e0c
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 { 2491a35f03da446009cd1de4cdabaa1cdec7e74e0cAkira Hatanaka const MipsSEInstrInfo &TII; 2591a35f03da446009cd1de4cdabaa1cdec7e74e0cAkira Hatanaka 268589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanakapublic: 278589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka MipsSERegisterInfo(const MipsSubtarget &Subtarget, 2891a35f03da446009cd1de4cdabaa1cdec7e74e0cAkira Hatanaka const MipsSEInstrInfo &TII); 298589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka 3071746220d3d1c3e8efba35038ac2ff14b4a4d3aeAkira Hatanaka void eliminateCallFramePseudoInstr(MachineFunction &MF, 3171746220d3d1c3e8efba35038ac2ff14b4a4d3aeAkira Hatanaka MachineBasicBlock &MBB, 3271746220d3d1c3e8efba35038ac2ff14b4a4d3aeAkira Hatanaka MachineBasicBlock::iterator I) const; 3371746220d3d1c3e8efba35038ac2ff14b4a4d3aeAkira Hatanaka 348589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanakaprivate: 358589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka virtual void eliminateFI(MachineBasicBlock::iterator II, unsigned OpNo, 368589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka int FrameIndex, uint64_t StackSize, 378589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka int64_t SPOffset) const; 388589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka}; 398589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka 408589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka} // end namespace llvm 418589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka 428589010e3d1d5a902992a5039cffa9d4116982c5Akira Hatanaka#endif 43