throw "Unknown operand class '" + Rec->getName() +
"' in instruction '" + R->getName() + "' instruction!";
- if (!DI->getArgName(i).empty() &&
- !OperandNames.insert(DI->getArgName(i)).second)
+ // Check that the operand has a name and that it's unique.
+ if (DI->getArgName(i).empty())
+ throw "In instruction '" + R->getName() + "', operand #" + utostr(i) +
+ " has no name!";
+ if (!OperandNames.insert(DI->getArgName(i)).second)
throw "In instruction '" + R->getName() + "', operand #" + utostr(i) +
" has the same name as a previous operand!";
if (i == CGI.OperandList.size())
I->error("'" + InstResults.begin()->first +
"' set but does not appear in operand list!");
-
const std::string &OpName = CGI.OperandList[i].Name;
- if (OpName.empty())
- I->error("Operand #" + utostr(i) + " in operands list has no name!");
// Check that it exists in InstResults.
Record *R = InstResults[OpName];