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

Chris Lattner lattner at cs.uiuc.edu
Mon Jan 10 21:56:32 PST 2005



Changes in directory llvm/include/llvm/CodeGen:

SelectionDAGNodes.h updated: 1.8 -> 1.9
---
Log message:

Add MEMSET/MEMCPY/MEMMOVE operations.  Fix a really bad bug in the vector
SDNode ctor.


---
Diffs of the changes:  (+10 -2)

Index: llvm/include/llvm/CodeGen/SelectionDAGNodes.h
diff -u llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.8 llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.9
--- llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.8	Mon Jan 10 17:25:04 2005
+++ llvm/include/llvm/CodeGen/SelectionDAGNodes.h	Mon Jan 10 23:56:17 2005
@@ -154,6 +154,14 @@
     // call).  Arguments have already been lowered to explicit DAGs according to
     // the calling convention in effect here.
     CALL,
+
+    // MEMSET/MEMCPY/MEMMOVE - The first operand is the chain, and the rest
+    // correspond to the operands of the LLVM intrinsic functions.  The only
+    // result is a token chain.  The alignment argument is guaranteed to be a
+    // Constant node.
+    MEMSET,
+    MEMMOVE,
+    MEMCPY,
     
     // ADJCALLSTACKDOWN/ADJCALLSTACKUP - These operators mark the beginning and
     // end of a call sequence and indicate how much the stack pointer needs to
@@ -405,8 +413,8 @@
   }
   SDNode(unsigned NT, std::vector<SDOperand> &Nodes) : NodeType(NT) {
     Operands.swap(Nodes);
-    for (unsigned i = 0, e = Nodes.size(); i != e; ++i)
-      Nodes[i].Val->Uses.push_back(this);
+    for (unsigned i = 0, e = Operands.size(); i != e; ++i)
+      Operands[i].Val->Uses.push_back(this);
   }
 
   virtual ~SDNode() {






More information about the llvm-commits mailing list