aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/SelectionDAGNodes.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-01-11 05:56:17 +0000
committerChris Lattner <sabre@nondot.org>2005-01-11 05:56:17 +0000
commitef36aa75d7df2bb67e8bfb0da7c43c1b331611e4 (patch)
treeb8631d58b89261604a5a673ee825cf6354502997 /include/llvm/CodeGen/SelectionDAGNodes.h
parent7fa6d52dda64c950717988c8be2aa32f0314ddda (diff)
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
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAGNodes.h')
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index d79adc36ad..24d941db52 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<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() {