diff options
author | Chris Lattner <sabre@nondot.org> | 2002-12-28 20:32:54 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-12-28 20:32:54 +0000 |
commit | 128aff4f9502a99af3573b98eb254490b3137646 (patch) | |
tree | 78fc16d5acfe8671fec557f9734fe52faee6e8e5 | |
parent | 3c1c03d7a76e51f5a668fcf27fccc3fb91675ced (diff) |
Changes to match new MRegisterInfo api
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5187 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86RegisterInfo.h | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/lib/Target/X86/X86RegisterInfo.h b/lib/Target/X86/X86RegisterInfo.h index bd1bf30a45..343f1c6d51 100644 --- a/lib/Target/X86/X86RegisterInfo.h +++ b/lib/Target/X86/X86RegisterInfo.h @@ -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; + const unsigned* getCalleeSaveRegs() const; - void loadRegOffset2Reg(MachineBasicBlock &MBB, - MachineBasicBlock::iterator &MBBI, - unsigned DestReg, unsigned SrcReg, unsigned ImmOffset, - const TargetRegisterClass *RC) const; + /// Returns register class appropriate for input SSA register + /// + const TargetRegisterClass *getClassForReg(unsigned Reg) const; + const TargetRegisterClass* getRegClassForType(const Type* Ty) const; - void moveReg2Reg(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, + /// 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 moveImm2Reg(MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, - unsigned DestReg, unsigned Imm, - const TargetRegisterClass *RC) const; + void eliminateCallFramePseudoInstr(MachineFunction &MF, + MachineBasicBlock &MBB, + MachineBasicBlock::iterator &I) const; - unsigned getFramePointer() const; - unsigned getStackPointer() const; + void eliminateFrameIndex(MachineFunction &MF, + MachineBasicBlock::iterator &II) const; - const unsigned* getCalleeSaveRegs() const; - const unsigned* getCallerSaveRegs() const; + void processFunctionBeforeFrameFinalized(MachineFunction &MF) 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; + void emitPrologue(MachineFunction &MF) const; + void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const; }; #endif |