[TableGen] Improve error reporting of overlapping definitions (NFC)

llvm-svn: 373514
This commit is contained in:
Evandro Menezes 2019-10-02 19:44:53 +00:00
parent 5bb7cdf861
commit 06e7429b58

View File

@ -1083,9 +1083,13 @@ void CodeGenSchedModels::createInstRWClass(Record *InstRWDef) {
if (RWD->getValueAsDef("SchedModel") == RWModelDef &&
RWModelDef->getValueAsBit("FullInstRWOverlapCheck")) {
for (Record *Inst : InstDefs) {
PrintFatalError(InstRWDef->getLoc(), "Overlapping InstRW def " +
Inst->getName() + " also matches " +
RWD->getValue("Instrs")->getValue()->getAsString());
PrintFatalError
(InstRWDef->getLoc(),
"Overlapping InstRW definition for \"" +
Inst->getName() +
"\" also matches previous \"" +
RWD->getValue("Instrs")->getValue()->getAsString() +
"\".");
}
}
}
@ -1115,9 +1119,13 @@ void CodeGenSchedModels::createInstRWClass(Record *InstRWDef) {
for (Record *OldRWDef : SchedClasses[OldSCIdx].InstRWs) {
if (OldRWDef->getValueAsDef("SchedModel") == RWModelDef) {
for (Record *InstDef : InstDefs) {
PrintFatalError(OldRWDef->getLoc(), "Overlapping InstRW def " +
InstDef->getName() + " also matches " +
OldRWDef->getValue("Instrs")->getValue()->getAsString());
PrintFatalError
(InstRWDef->getLoc(),
"Overlapping InstRW definition for \"" +
InstDef->getName() +
"\" also matches previous \"" +
OldRWDef->getValue("Instrs")->getValue()->getAsString() +
"\".");
}
}
assert(OldRWDef != InstRWDef &&