diff options
Diffstat (limited to 'llvm/utils/TableGen/DAGISelEmitter.cpp')
| -rw-r--r-- | llvm/utils/TableGen/DAGISelEmitter.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/DAGISelEmitter.cpp b/llvm/utils/TableGen/DAGISelEmitter.cpp index d83faceaee8..847e7ac6631 100644 --- a/llvm/utils/TableGen/DAGISelEmitter.cpp +++ b/llvm/utils/TableGen/DAGISelEmitter.cpp @@ -631,7 +631,15 @@ void DAGISelEmitter::ParseAndResolvePatternFragments(std::ostream &OS) { static void HandleUse(TreePattern *I, TreePatternNode *Pat, std::map<std::string, TreePatternNode*> &InstInputs) { // No name -> not interesting. - if (Pat->getName().empty()) return; + if (Pat->getName().empty()) { + if (Pat->isLeaf()) { + DefInit *DI = dynamic_cast<DefInit*>(Pat->getLeafValue()); + if (DI && DI->getDef()->isSubClassOf("RegisterClass")) + I->error("Input " + DI->getDef()->getName() + " must be named!"); + + } + return; + } Record *Rec; if (Pat->isLeaf()) { |

