summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-12-28 20:32:54 +0000
committerChris Lattner <sabre@nondot.org>2002-12-28 20:32:54 +0000
commite6fb194716db4caf29077794a5f750239c1ec781 (patch)
tree329820d8fc2b585f732ee84aec0f6b58f0baed07 /llvm/lib
parent1d79b4ce866132f03246ea77fbb12b3b14afe13f (diff)
downloadbcm5719-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.h51
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
OpenPOWER on IntegriCloud