summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MipsRegisterInfo.h
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2007-08-28 05:13:42 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2007-08-28 05:13:42 +0000
commit51195af45f4142035f23c7d58d1311face3900a4 (patch)
tree2a3ffb0b5664e8f53f7bc1e7a910fd3b4b550252 /lib/Target/Mips/MipsRegisterInfo.h
parenta2b1bb5296624d32a200f9c53d6f26c0c9c3bddc (diff)
downloadllvm-51195af45f4142035f23c7d58d1311face3900a4.tar.gz
llvm-51195af45f4142035f23c7d58d1311face3900a4.tar.bz2
llvm-51195af45f4142035f23c7d58d1311face3900a4.tar.xz
Added method to get Mips register numbers
Changed the stack frame layout, StackGrowsUp fits better to Mips strange stack. Stack offset calculation bug fixed! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41529 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsRegisterInfo.h')
-rw-r--r--lib/Target/Mips/MipsRegisterInfo.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Target/Mips/MipsRegisterInfo.h b/lib/Target/Mips/MipsRegisterInfo.h
index ebc0318b88..cc8215c864 100644
--- a/lib/Target/Mips/MipsRegisterInfo.h
+++ b/lib/Target/Mips/MipsRegisterInfo.h
@@ -27,6 +27,10 @@ struct MipsRegisterInfo : public MipsGenRegisterInfo {
MipsRegisterInfo(const TargetInstrInfo &tii);
+ /// getRegisterNumbering - Given the enum value for some register, e.g.
+ /// Mips::RA, return the number that it corresponds to (e.g. 31).
+ static unsigned getRegisterNumbering(unsigned RegEnum);
+
/// Code Generation virtual methods...
void storeRegToStackSlot(MachineBasicBlock &MBB,
MachineBasicBlock::iterator MBBI,
@@ -62,6 +66,7 @@ struct MipsRegisterInfo : public MipsGenRegisterInfo {
MachineBasicBlock &MBB,
MachineBasicBlock::iterator I) const;
+ /// Stack Frame Processing Methods
void eliminateFrameIndex(MachineBasicBlock::iterator II,
int SPAdj, RegScavenger *RS = NULL) const;
@@ -70,11 +75,11 @@ struct MipsRegisterInfo : public MipsGenRegisterInfo {
void emitPrologue(MachineFunction &MF) const;
void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const;
- // Debug information queries.
+ /// Debug information queries.
unsigned getRARegister() const;
unsigned getFrameRegister(MachineFunction &MF) const;
- // Exception handling queries.
+ /// Exception handling queries.
unsigned getEHExceptionRegister() const;
unsigned getEHHandlerRegister() const;
};