diff options
Diffstat (limited to 'utils/TableGen/DAGISelMatcherGen.cpp')
| -rw-r--r-- | utils/TableGen/DAGISelMatcherGen.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/utils/TableGen/DAGISelMatcherGen.cpp b/utils/TableGen/DAGISelMatcherGen.cpp index cc3c4f1..0c7456e 100644 --- a/utils/TableGen/DAGISelMatcherGen.cpp +++ b/utils/TableGen/DAGISelMatcherGen.cpp @@ -505,16 +505,11 @@ bool MatcherGen::EmitMatcherCode(unsigned Variant) { // check. if (const ComplexPattern *CP = Pattern.getSrcPattern()->getComplexPatternInfo(CGP)) { - const std::vector<Record*> &OpNodes = CP->getRootNodes(); - if (OpNodes.empty()) { - // FIXME: Empty OpNodes runs on everything, is this even valid? - if (Variant != 0) return true; - } else { - if (Variant >= OpNodes.size()) return true; - - AddMatcher(new CheckOpcodeMatcher(CGP.getSDNodeInfo(OpNodes[Variant]))); - } + assert(!OpNodes.empty() &&"Complex Pattern must specify what it can match"); + if (Variant >= OpNodes.size()) return true; + + AddMatcher(new CheckOpcodeMatcher(CGP.getSDNodeInfo(OpNodes[Variant]))); } else { if (Variant != 0) return true; } |
