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

Chris Lattner lattner at cs.uiuc.edu
Fri Jan 13 09:48:04 PST 2006



Changes in directory llvm/include/llvm/Target:

TargetLowering.h updated: 1.33 -> 1.34
---
Log message:

Provide an interface for Targets to specify their stack pointer register
for llvm.stacksave/restore.


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

 TargetLowering.h |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+)


Index: llvm/include/llvm/Target/TargetLowering.h
diff -u llvm/include/llvm/Target/TargetLowering.h:1.33 llvm/include/llvm/Target/TargetLowering.h:1.34
--- llvm/include/llvm/Target/TargetLowering.h:1.33	Wed Dec 21 19:46:59 2005
+++ llvm/include/llvm/Target/TargetLowering.h	Fri Jan 13 11:47:52 2006
@@ -234,6 +234,13 @@
   bool usesUnderscoreSetJmpLongJmp() const {
     return UseUnderscoreSetJmpLongJmp;
   }
+  
+  /// getStackPointerRegisterToSaveRestore - If a physical register, this
+  /// specifies the register that llvm.savestack/llvm.restorestack should save
+  /// and restore.
+  unsigned getStackPointerRegisterToSaveRestore() const {
+    return StackPointerRegisterToSaveRestore;
+  }
 
   //===--------------------------------------------------------------------===//
   // TargetLowering Configuration Methods - These methods should be invoked by
@@ -267,6 +274,13 @@
     UseUnderscoreSetJmpLongJmp = Val;
   }
   
+  /// setStackPointerRegisterToSaveRestore - If set to a physical register, this
+  /// specifies the register that llvm.savestack/llvm.restorestack should save
+  /// and restore.
+  void setStackPointerRegisterToSaveRestore(unsigned R) {
+    StackPointerRegisterToSaveRestore = R;
+  }
+  
   /// setSetCCIxExpensive - This is a short term hack for targets that codegen
   /// setcc as a conditional branch.  This encourages the code generator to fold
   /// setcc operations into other operations if possible.
@@ -443,6 +457,11 @@
   /// UseUnderscoreSetJmpLongJmp - This target prefers to use _setjmp and
   /// _longjmp to implement llvm.setjmp/llvm.longjmp.  Defaults to false.
   bool UseUnderscoreSetJmpLongJmp;
+  
+  /// StackPointerRegisterToSaveRestore - If set to a physical register, this
+  /// specifies the register that llvm.savestack/llvm.restorestack should save
+  /// and restore.
+  unsigned StackPointerRegisterToSaveRestore;
 
   /// RegClassForVT - This indicates the default register class to use for
   /// each ValueType the target supports natively.






More information about the llvm-commits mailing list