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 | e6fb194716db4caf29077794a5f750239c1ec781 (patch) | |
tree | 329820d8fc2b585f732ee84aec0f6b58f0baed07 /llvm/lib | |
parent | 1d79b4ce866132f03246ea77fbb12b3b14afe13f (diff) | |
download | bcm5719-llvm-e6fb194716db4caf29077794a5f750239c1ec781.tar.gz bcm5719-llvm-e6fb194716db4caf29077794a5f750239c1ec781.zip |
Changes to match new MRegisterInfo api
llvm-svn: 5187
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86RegisterInfo.h | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/llvm/lib/Target/X86/X86RegisterInfo.h b/llvm/lib/Target/X86/X86RegisterInfo.h index bd1bf30a458..343f1c6d513 100644 --- a/llvm/lib/Target/X86/X86RegisterInfo.h +++ b/llvm/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 |