mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-14 23:48:56 +00:00
Changes to match new MRegisterInfo api
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5187 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3c1c03d7a7
commit
128aff4f95
@ -1,4 +1,4 @@
|
||||
//===- X86RegisterInfo.h - X86 Register Information Impl ----------*-C++-*-===//
|
||||
//===- X86RegisterInfo.h - X86 Register Information Impl --------*- C++ -*-===//
|
||||
//
|
||||
// This file contains the X86 implementation of the MRegisterInfo class.
|
||||
//
|
||||
@ -14,38 +14,39 @@ class Type;
|
||||
struct X86RegisterInfo : public MRegisterInfo {
|
||||
X86RegisterInfo();
|
||||
|
||||
void storeReg2RegOffset(MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator &MBBI,
|
||||
unsigned SrcReg, unsigned DestReg, unsigned ImmOffset,
|
||||
const TargetRegisterClass *RC) const;
|
||||
|
||||
void loadRegOffset2Reg(MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator &MBBI,
|
||||
unsigned DestReg, unsigned SrcReg, unsigned ImmOffset,
|
||||
const TargetRegisterClass *RC) const;
|
||||
|
||||
void moveReg2Reg(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
|
||||
unsigned DestReg, unsigned SrcReg,
|
||||
const TargetRegisterClass *RC) const;
|
||||
|
||||
void moveImm2Reg(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
|
||||
unsigned DestReg, unsigned Imm,
|
||||
const TargetRegisterClass *RC) const;
|
||||
|
||||
unsigned getFramePointer() const;
|
||||
unsigned getStackPointer() const;
|
||||
|
||||
const unsigned* getCalleeSaveRegs() const;
|
||||
const unsigned* getCallerSaveRegs() const;
|
||||
|
||||
void emitPrologue(MachineFunction &MF, unsigned numBytes) const;
|
||||
void emitEpilogue(MachineBasicBlock &MBB, unsigned numBytes) const;
|
||||
|
||||
/// Returns register class appropriate for input SSA register
|
||||
///
|
||||
const TargetRegisterClass *getClassForReg(unsigned Reg) const;
|
||||
|
||||
const TargetRegisterClass* getRegClassForType(const Type* Ty) const;
|
||||
|
||||
/// Code Generation virtual methods...
|
||||
void storeRegToStackSlot(MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator &MBBI,
|
||||
unsigned SrcReg, int FrameIndex,
|
||||
const TargetRegisterClass *RC) const;
|
||||
|
||||
void loadRegFromStackSlot(MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator &MBBI,
|
||||
unsigned DestReg, int FrameIndex,
|
||||
const TargetRegisterClass *RC) const;
|
||||
|
||||
void copyRegToReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI,
|
||||
unsigned DestReg, unsigned SrcReg,
|
||||
const TargetRegisterClass *RC) const;
|
||||
|
||||
void eliminateCallFramePseudoInstr(MachineFunction &MF,
|
||||
MachineBasicBlock &MBB,
|
||||
MachineBasicBlock::iterator &I) const;
|
||||
|
||||
void eliminateFrameIndex(MachineFunction &MF,
|
||||
MachineBasicBlock::iterator &II) const;
|
||||
|
||||
void processFunctionBeforeFrameFinalized(MachineFunction &MF) const;
|
||||
|
||||
void emitPrologue(MachineFunction &MF) const;
|
||||
void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user