[llvm-commits] CVS: llvm/include/llvm/CodeGen/SelectionDAG.h SelectionDAGNodes.h

Nate Begeman natebegeman at mac.com
Wed Jan 25 10:22:09 PST 2006



Changes in directory llvm/include/llvm/CodeGen:

SelectionDAG.h updated: 1.87 -> 1.88
SelectionDAGNodes.h updated: 1.93 -> 1.94
---
Log message:

First part of bug 680: http://llvm.cs.uiuc.edu/PR680 :
Remove TLI.LowerVA* and replace it with SDNodes that are lowered the same
way as everything else.


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

 SelectionDAG.h      |    5 +++++
 SelectionDAGNodes.h |   13 +++++++++++++
 2 files changed, 18 insertions(+)


Index: llvm/include/llvm/CodeGen/SelectionDAG.h
diff -u llvm/include/llvm/CodeGen/SelectionDAG.h:1.87 llvm/include/llvm/CodeGen/SelectionDAG.h:1.88
--- llvm/include/llvm/CodeGen/SelectionDAG.h:1.87	Mon Jan 23 15:51:14 2006
+++ llvm/include/llvm/CodeGen/SelectionDAG.h	Wed Jan 25 12:21:52 2006
@@ -278,6 +278,11 @@
     Ops.push_back(False);
     return getNode(ISD::BRTWOWAY_CC, MVT::Other, Ops);
   }
+  
+  /// getVAArg - VAArg produces a result and token chain, and takes a pointer
+  /// and a source value as input.
+  SDOperand getVAArg(MVT::ValueType VT, SDOperand Chain, SDOperand Ptr,
+                     SDOperand SV);
 
   /// getLoad - Loads are not normal binary operators: their result type is not
   /// determined by their operands, and they produce a value AND a token chain.


Index: llvm/include/llvm/CodeGen/SelectionDAGNodes.h
diff -u llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.93 llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.94
--- llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.93	Mon Jan 23 23:47:05 2006
+++ llvm/include/llvm/CodeGen/SelectionDAGNodes.h	Wed Jan 25 12:21:52 2006
@@ -335,6 +335,19 @@
     // target and not touched by the DAG optimizers.
     CALLSEQ_START,  // Beginning of a call sequence
     CALLSEQ_END,    // End of a call sequence
+    
+    // VAARG - VAARG has three operands: an input chain, a pointer, and a 
+    // SRCVALUE.  It returns a pair of values: the vaarg value and a new chain.
+    VAARG,
+    
+    // VACOPY - VACOPY has five operands: an input chain, a destination pointer,
+    // a source pointer, a SRCVALUE for the destination, and a SRCVALUE for the
+    // source.
+    VACOPY,
+    
+    // VAEND, VASTART - VAEND and VASTART have three operands: an input chain, a
+    // pointer, and a SRCVALUE.
+    VAEND, VASTART,
 
     // SRCVALUE - This corresponds to a Value*, and is used to associate memory
     // locations with their value.  This allows one use alias analysis






More information about the llvm-commits mailing list