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

Nate Begeman natebegeman at mac.com
Tue Oct 18 16:23:49 PDT 2005



Changes in directory llvm/include/llvm/Target:

TargetLowering.h updated: 1.24 -> 1.25
---
Log message:

Add the ability to lower return instructions to TargetLowering.  This
allows us to lower legal return types to something else, to meet ABI
requirements (such as that i64 be returned in two i32 regs on Darwin/ppc).


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

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


Index: llvm/include/llvm/Target/TargetLowering.h
diff -u llvm/include/llvm/Target/TargetLowering.h:1.24 llvm/include/llvm/Target/TargetLowering.h:1.25
--- llvm/include/llvm/Target/TargetLowering.h:1.24	Tue Sep 27 17:13:36 2005
+++ llvm/include/llvm/Target/TargetLowering.h	Tue Oct 18 18:23:37 2005
@@ -311,6 +311,12 @@
               unsigned CallingConv, bool isTailCall, SDOperand Callee,
               ArgListTy &Args, SelectionDAG &DAG) = 0;
 
+  /// LowerReturnTo - This hook lowers a return instruction into the appropriate
+  /// legal ISD::RET node for the target's current ABI.  This method is optional
+  /// and is intended for targets that need non-standard behavior.
+  virtual SDOperand LowerReturnTo(SDOperand Chain, SDOperand Op, 
+                                  SelectionDAG &DAG);
+  
   /// LowerVAStart - This lowers the llvm.va_start intrinsic.  If not
   /// implemented, this method prints a message and aborts.  This method should
   /// return the modified chain value.  Note that VAListPtr* correspond to the






More information about the llvm-commits mailing list