Regexpr = Regex(pat);
}
+ int NumMatches = 0;
+
unsigned NumGeneric = Target.getNumFixedInstructions();
ArrayRef<const CodeGenInstruction *> Generics =
Target.getInstructionsByEnumValue().slice(0, NumGeneric + 1);
for (auto *Inst : Generics) {
StringRef InstName = Inst->TheDef->getName();
if (InstName.startswith(Prefix) &&
- (!Regexpr || Regexpr->match(InstName.substr(Prefix.size()))))
+ (!Regexpr || Regexpr->match(InstName.substr(Prefix.size())))) {
Elts.insert(Inst->TheDef);
+ NumMatches++;
+ }
}
ArrayRef<const CodeGenInstruction *> Instructions =
// a regex that needs to be checked.
for (auto *Inst : make_range(Range)) {
StringRef InstName = Inst->TheDef->getName();
- if (!Regexpr || Regexpr->match(InstName.substr(Prefix.size())))
+ if (!Regexpr || Regexpr->match(InstName.substr(Prefix.size()))) {
Elts.insert(Inst->TheDef);
+ NumMatches++;
+ }
}
+
+ if (0 == NumMatches)
+ PrintFatalError(Loc, "instregex has no matches: " + Original);
}
}
};