diff options
| author | Chris Lattner <sabre@nondot.org> | 2003-08-15 04:28:04 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2003-08-15 04:28:04 +0000 |
| commit | 32dd756809d7293ca052126c310355236d231411 (patch) | |
| tree | 8d4e5745152d552a23a73d73ce6cb422e6277b3e /llvm/support | |
| parent | 2e9fc94afc2580c5da4c0c149087ce54c8dc8700 (diff) | |
| download | bcm5719-llvm-32dd756809d7293ca052126c310355236d231411.tar.gz bcm5719-llvm-32dd756809d7293ca052126c310355236d231411.zip | |
Add support for nodes with void arguments, like chain nodes
llvm-svn: 7869
Diffstat (limited to 'llvm/support')
| -rw-r--r-- | llvm/support/tools/TableGen/InstrSelectorEmitter.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/support/tools/TableGen/InstrSelectorEmitter.cpp b/llvm/support/tools/TableGen/InstrSelectorEmitter.cpp index 28c7de11403..2db6da4bd2f 100644 --- a/llvm/support/tools/TableGen/InstrSelectorEmitter.cpp +++ b/llvm/support/tools/TableGen/InstrSelectorEmitter.cpp @@ -299,6 +299,9 @@ bool Pattern::InferTypes(TreePatternNode *N, bool &MadeChange) { 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 @@ void InstrSelectorEmitter::ReadNodeTypes() { 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)) |

