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

Chris Lattner lattner at cs.uiuc.edu
Fri Jan 27 19:37:01 PST 2006



Changes in directory llvm/include/llvm/Target:

TargetLowering.h updated: 1.39 -> 1.40
---
Log message:

add a new callback


---
Diffs of the changes:  (+12 -5)

 TargetLowering.h |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)


Index: llvm/include/llvm/Target/TargetLowering.h
diff -u llvm/include/llvm/Target/TargetLowering.h:1.39 llvm/include/llvm/Target/TargetLowering.h:1.40
--- llvm/include/llvm/Target/TargetLowering.h:1.39	Fri Jan 27 21:14:31 2006
+++ llvm/include/llvm/Target/TargetLowering.h	Fri Jan 27 21:36:49 2006
@@ -368,17 +368,24 @@
   LowerFrameReturnAddress(bool isFrameAddr, SDOperand Chain, unsigned Depth,
                           SelectionDAG &DAG);
 
-  /// LowerOperation - For operations that are unsupported by the target, and
-  /// which are registered to use 'custom' lowering, this callback is invoked.
+  /// LowerOperation - This callback is invoked for operations that are 
+  /// unsupported by the target, which are registered to use 'custom' lowering,
+  /// and whose defined values are all legal.
   /// If the target has no operations that require custom lowering, it need not
   /// implement this.  The default implementation of this aborts.
   virtual SDOperand LowerOperation(SDOperand Op, SelectionDAG &DAG);
 
-  /// CustomPromoteOperation - For operations that are unsupported by the
-  /// target, are registered to use 'custom' lowering, and whose type needs to
-  /// be promoted, this callback is invoked.
+  /// CustomPromoteOperation - This callback is invoked for operations that are
+  /// unsupported by the target, are registered to use 'custom' lowering, and
+  /// whose type needs to be promoted.
   virtual SDOperand CustomPromoteOperation(SDOperand Op, SelectionDAG &DAG);
   
+  /// CustomExpandOperation - This callback is invoked for operations that are
+  /// unsupported by the target, are registered to use 'custom' lowering, and
+  /// whose type needs to be expanded.
+  virtual void CustomExpandOperation(SDOperand Op, SDOperand &Lo, SDOperand &Hi,
+                                     SelectionDAG &DAG);
+  
   /// getTargetNodeName() - This method returns the name of a target specific
   /// DAG node.
   virtual const char *getTargetNodeName(unsigned Opcode) const;






More information about the llvm-commits mailing list