git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117890
91177308-0d34-0410-b5e6-
96231b3b80d8
std::string Result;
unsigned NumFeatures = 0;
for (unsigned i = 0, e = ReqFeatures.size(); i != e; ++i) {
- if (SubtargetFeatureInfo *F = Info.getSubtargetFeature(ReqFeatures[i])) {
- if (NumFeatures)
- Result += '|';
+ SubtargetFeatureInfo *F = Info.getSubtargetFeature(ReqFeatures[i]);
- Result += F->getEnumName();
- ++NumFeatures;
- }
+ if (F == 0)
+ throw TGError(R->getLoc(), "Predicate '" + ReqFeatures[i]->getName() +
+ "' is not marked as an AssemblerPredicate!");
+
+ if (NumFeatures)
+ Result += '|';
+
+ Result += F->getEnumName();
+ ++NumFeatures;
}
if (NumFeatures > 1)