llvm-6502/lib/Target/X86/X86RegisterInfo.h
Misha Brukman a361c8417b storeReg2RegOffset() and loadRegOffset2Reg() now take the iterator by value
instead of by reference, since they return the modified iterator.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4914 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 17:14:13 +00:00

49 lines
1.4 KiB
C++

//===- X86RegisterInfo.h - X86 Register Information Impl ----------*-C++-*-===//
//
// This file contains the X86 implementation of the MRegisterInfo class.
//
//===----------------------------------------------------------------------===//
#ifndef X86REGISTERINFO_H
#define X86REGISTERINFO_H
#include "llvm/Target/MRegisterInfo.h"
class Type;
struct X86RegisterInfo : public MRegisterInfo {
X86RegisterInfo();
MRegisterInfo::const_iterator const_regclass_begin() const;
MRegisterInfo::const_iterator const_regclass_end() const;
MachineBasicBlock::iterator
storeReg2RegOffset(MachineBasicBlock *MBB,
MachineBasicBlock::iterator MBBI,
unsigned DestReg, unsigned SrcReg,
unsigned ImmOffset, unsigned dataSize) const;
MachineBasicBlock::iterator
loadRegOffset2Reg(MachineBasicBlock *MBB,
MachineBasicBlock::iterator MBBI,
unsigned DestReg, unsigned SrcReg,
unsigned ImmOffset, unsigned dataSize) const;
unsigned getFramePointer() const;
unsigned getStackPointer() const;
const unsigned* getCalleeSaveRegs() const;
const unsigned* getCallerSaveRegs() const;
/// Returns register class appropriate for input SSA register
///
const TargetRegisterClass *getClassForReg(unsigned Reg) const;
const TargetRegisterClass* getRegClassForType(const Type* Ty) const;
unsigned getNumRegClasses() const;
};
#endif