[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