diff options
author | Chris Lattner <sabre@nondot.org> | 2005-05-09 20:22:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-05-09 20:22:17 +0000 |
commit | 67ab94510d07d14f1107ee649a9f4410e4ada0ea (patch) | |
tree | b69a1b9138ee11e9cf1f293c1d095cdd21feb4fc /llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | |
parent | 61171e59b22a4b4e550ea1d658dbf62e349ed3ca (diff) | |
download | bcm5719-llvm-67ab94510d07d14f1107ee649a9f4410e4ada0ea.tar.gz bcm5719-llvm-67ab94510d07d14f1107ee649a9f4410e4ada0ea.zip |
Add support for READPORT, WRITEPORT, READIO, WRITEIO
llvm-svn: 21824
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index faeb872528b..f130b161faf 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -1195,7 +1195,11 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT, SDNode *&N = BinaryOps[std::make_pair(Opcode, std::make_pair(N1, N2))]; if (N) return SDOperand(N, 0); N = new SDNode(Opcode, N1, N2); - N->setValueTypes(VT); + + if (Opcode != ISD::READPORT && Opcode != ISD::READIO) + N->setValueTypes(VT); + else + N->setValueTypes(VT, MVT::Other); AllNodes.push_back(N); return SDOperand(N, 0); @@ -1666,6 +1670,11 @@ const char *SDNode::getOperationName() const { case ISD::MEMCPY: return "memcpy"; case ISD::MEMMOVE: return "memmove"; + case ISD::READPORT: return "readport"; + case ISD::WRITEPORT: return "writeport"; + case ISD::READIO: return "readio"; + case ISD::WRITEIO: return "writeio"; + case ISD::SETCC: const SetCCSDNode *SetCC = cast<SetCCSDNode>(this); switch (SetCC->getCondition()) { |