From ef36aa75d7df2bb67e8bfb0da7c43c1b331611e4 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 11 Jan 2005 05:56:17 +0000 Subject: [PATCH] Add MEMSET/MEMCPY/MEMMOVE operations. Fix a really bad bug in the vector SDNode ctor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19462 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/SelectionDAGNodes.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index d79adc36ad5..24d941db52d 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -154,6 +154,14 @@ namespace ISD { // 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 @@ protected: } SDNode(unsigned NT, std::vector &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() { -- 2.34.1