1234353Sdim//===-- MSP430RegisterInfo.h - MSP430 Register Information Impl -*- C++ -*-===// 2193323Sed// 3193323Sed// The LLVM Compiler Infrastructure 4193323Sed// 5193323Sed// This file is distributed under the University of Illinois Open Source 6193323Sed// License. See LICENSE.TXT for details. 7193323Sed// 8193323Sed//===----------------------------------------------------------------------===// 9193323Sed// 10193323Sed// This file contains the MSP430 implementation of the MRegisterInfo class. 11193323Sed// 12193323Sed//===----------------------------------------------------------------------===// 13193323Sed 14193323Sed#ifndef LLVM_TARGET_MSP430REGISTERINFO_H 15193323Sed#define LLVM_TARGET_MSP430REGISTERINFO_H 16193323Sed 17193323Sed#include "llvm/Target/TargetRegisterInfo.h" 18193323Sed 19224145Sdim#define GET_REGINFO_HEADER 20224145Sdim#include "MSP430GenRegisterInfo.inc" 21224145Sdim 22193323Sednamespace llvm { 23193323Sed 24193323Sedclass TargetInstrInfo; 25193323Sedclass MSP430TargetMachine; 26193323Sed 27193323Sedstruct MSP430RegisterInfo : public MSP430GenRegisterInfo { 28193323Sedprivate: 29193323Sed MSP430TargetMachine &TM; 30193323Sed 31193323Sed /// StackAlign - Default stack alignment. 32193323Sed /// 33193323Sed unsigned StackAlign; 34193323Sedpublic: 35263508Sdim MSP430RegisterInfo(MSP430TargetMachine &tm); 36193323Sed 37193323Sed /// Code Generation virtual methods... 38234353Sdim const uint16_t *getCalleeSavedRegs(const MachineFunction *MF = 0) const; 39193323Sed 40193323Sed BitVector getReservedRegs(const MachineFunction &MF) const; 41239462Sdim const TargetRegisterClass* 42239462Sdim getPointerRegClass(const MachineFunction &MF, unsigned Kind = 0) const; 43193323Sed 44212904Sdim void eliminateFrameIndex(MachineBasicBlock::iterator II, 45249423Sdim int SPAdj, unsigned FIOperandNum, 46249423Sdim RegScavenger *RS = NULL) const; 47193323Sed 48193323Sed // Debug information queries. 49199481Srdivacky unsigned getFrameRegister(const MachineFunction &MF) const; 50193323Sed}; 51193323Sed 52193323Sed} // end namespace llvm 53193323Sed 54193323Sed#endif // LLVM_TARGET_MSP430REGISTERINFO_H 55