Add support for nodes with void arguments, like chain nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7869 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/InstrSelectorEmitter.cpp b/utils/TableGen/InstrSelectorEmitter.cpp
index 28c7de1..2db6da4 100644
--- a/utils/TableGen/InstrSelectorEmitter.cpp
+++ b/utils/TableGen/InstrSelectorEmitter.cpp
@@ -299,6 +299,9 @@
MadeChange |= Child->updateNodeType(ISE.getTarget().getPointerType(),
TheRecord->getName());
break;
+ case NodeType::Void:
+ MadeChange |= Child->updateNodeType(MVT::isVoid, TheRecord->getName());
+ break;
default: assert(0 && "Invalid argument ArgType!");
}
}
@@ -449,8 +452,6 @@
throw "In node " + Node->getName() + ", arg 0 cannot have type 'arg0'!";
if (a == 1 && ArgTypes.back() == NodeType::Arg1)
throw "In node " + Node->getName() + ", arg 1 cannot have type 'arg1'!";
- if (ArgTypes.back() == NodeType::Void)
- throw "In node " + Node->getName() + ", args cannot be void type!";
}
if ((RetTy == NodeType::Arg0 && Args->getSize() == 0) ||
(RetTy == NodeType::Arg1 && Args->getSize() < 2))