[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