1 //===- X86RegisterInfo.h - X86 Register Information Impl ----------*-C++-*-===//
3 // This file contains the X86 implementation of the MRegisterInfo class.
5 //===----------------------------------------------------------------------===//
7 #ifndef X86REGISTERINFO_H
8 #define X86REGISTERINFO_H
10 #include "llvm/Target/MRegisterInfo.h"
14 struct X86RegisterInfo : public MRegisterInfo {
17 MRegisterInfo::const_iterator const_regclass_begin() const;
18 MRegisterInfo::const_iterator const_regclass_end() const;
20 void copyReg2PCRel(MachineBasicBlock *MBB,
21 MachineBasicBlock::iterator &MBBI,
22 unsigned SrcReg, unsigned ImmOffset,
23 unsigned dataSize) const;
25 void copyPCRel2Reg(MachineBasicBlock *MBB,
26 MachineBasicBlock::iterator &MBBI,
27 unsigned ImmOffset, unsigned DestReg,
28 unsigned dataSize) const;
30 /// Returns register class appropriate for input SSA register
32 const TargetRegisterClass *getClassForReg(unsigned Reg) const;
34 const TargetRegisterClass* getRegClassForType(const Type* Ty) const;
36 unsigned getNumRegClasses() const;