[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp AlphaRegisterInfo.h

Jim Laskey jlaskey at apple.com
Thu Mar 23 10:13:13 PST 2006



Changes in directory llvm/lib/Target/Alpha:

AlphaRegisterInfo.cpp updated: 1.36 -> 1.37
AlphaRegisterInfo.h updated: 1.9 -> 1.10
---
Log message:

Add support to locate local variables in frames (early version.)


---
Diffs of the changes:  (+16 -0)

 AlphaRegisterInfo.cpp |   13 +++++++++++++
 AlphaRegisterInfo.h   |    3 +++
 2 files changed, 16 insertions(+)


Index: llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp
diff -u llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.36 llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.37
--- llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.36	Thu Mar  9 12:07:49 2006
+++ llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp	Thu Mar 23 12:12:57 2006
@@ -21,6 +21,7 @@
 #include "llvm/CodeGen/MachineInstrBuilder.h"
 #include "llvm/CodeGen/MachineFunction.h"
 #include "llvm/CodeGen/MachineFrameInfo.h"
+#include "llvm/CodeGen/MachineLocation.h"
 #include "llvm/Target/TargetFrameInfo.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/TargetOptions.h"
@@ -353,6 +354,18 @@
      }
 }
 
+void AlphaRegisterInfo::getLocation(MachineFunction &MF, unsigned Index,
+                                    MachineLocation &ML) const {
+  assert(0 && "Needs to be defined for target");
+  MachineFrameInfo *MFI = MF.getFrameInfo();
+  bool FP = hasFP(MF);
+  
+  // FIXME - Needs to handle register variables.
+  // FIXME - Faking that llvm number is same as gcc numbering.
+  ML.set((FP ? Alpha::R15 : Alpha::R30) - Alpha::R0,
+         MFI->getObjectOffset(Index) + MFI->getStackSize());
+}
+
 #include "AlphaGenRegisterInfo.inc"
 
 std::string AlphaRegisterInfo::getPrettyName(unsigned reg)


Index: llvm/lib/Target/Alpha/AlphaRegisterInfo.h
diff -u llvm/lib/Target/Alpha/AlphaRegisterInfo.h:1.9 llvm/lib/Target/Alpha/AlphaRegisterInfo.h:1.10
--- llvm/lib/Target/Alpha/AlphaRegisterInfo.h:1.9	Thu Feb  2 14:12:32 2006
+++ llvm/lib/Target/Alpha/AlphaRegisterInfo.h	Thu Mar 23 12:12:57 2006
@@ -53,6 +53,9 @@
   void emitPrologue(MachineFunction &MF) const;
   void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const;
 
+  void getLocation(MachineFunction &MF, unsigned Index, MachineLocation &ML) const;
+
+
   static std::string getPrettyName(unsigned reg);
 };
 






More information about the llvm-commits mailing list