[llvm-commits] CVS: llvm/include/llvm/Target/TargetFrameInfo.h

Chris Lattner lattner at cs.uiuc.edu
Thu Aug 12 12:02:05 PDT 2004



Changes in directory llvm/include/llvm/Target:

TargetFrameInfo.h updated: 1.14 -> 1.15
---
Log message:

Allow targets to specify particular stack slots that certain physregs must
be spilled into.


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

Index: llvm/include/llvm/Target/TargetFrameInfo.h
diff -u llvm/include/llvm/Target/TargetFrameInfo.h:1.14 llvm/include/llvm/Target/TargetFrameInfo.h:1.15
--- llvm/include/llvm/Target/TargetFrameInfo.h:1.14	Thu Aug 12 13:37:15 2004
+++ llvm/include/llvm/Target/TargetFrameInfo.h	Thu Aug 12 14:01:55 2004
@@ -14,6 +14,8 @@
 #ifndef LLVM_TARGET_TARGETFRAMEINFO_H
 #define LLVM_TARGET_TARGETFRAMEINFO_H
 
+#include <utility>
+
 namespace llvm {
 
 class MachineFunction;
@@ -56,6 +58,21 @@
   ///
   int getOffsetOfLocalArea() const { return LocalAreaOffset; }
 
+  /// getCalleeSaveSpillSlots - This method returns a pointer to an array of
+  /// pairs, that contains an entry for each callee save register that must be
+  /// spilled to a particular stack location if it is spilled.
+  ///
+  /// Each entry in this array contains a <register,offset> pair, indicating the
+  /// fixed offset from the incoming stack pointer that each register should be
+  /// spilled at.  If a register is not listed here, the code generator is
+  /// allowed to spill it anywhere it chooses.
+  /// 
+  virtual std::pair<unsigned, int> *
+  getCalleeSaveSpillSlots(unsigned &NumEntries) const {
+    NumEntries = 0;
+    return 0;
+  }
+  
   //===--------------------------------------------------------------------===//
   // These methods provide details of the stack frame used by Sparc, thus they
   // are Sparc specific.






More information about the llvm-commits mailing list