mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-04 01:42:09 +00:00
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
This commit is contained in:
parent
7fa6d52dda
commit
ef36aa75d7
@ -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() {
|
||||
|
Loading…
Reference in New Issue
Block a user