diff options
author | Matthias Braun <matze@braunis.de> | 2016-03-03 00:04:59 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2016-03-03 00:04:59 +0000 |
commit | 42d9ad9c5bb35e63037937e9c3b256eb5f220fb6 (patch) | |
tree | d0db87826e14d803dcd010ed65d00beae6fe3bf1 | |
parent | 23d933982a4465dc527c5a9635be6aea13e43e03 (diff) | |
download | bcm5719-llvm-42d9ad9c5bb35e63037937e9c3b256eb5f220fb6.tar.gz bcm5719-llvm-42d9ad9c5bb35e63037937e9c3b256eb5f220fb6.zip |
TableGen: Accept itinerary data when checking for schedmodel completeness
llvm-svn: 262548
-rw-r--r-- | llvm/utils/TableGen/CodeGenSchedule.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/utils/TableGen/CodeGenSchedule.cpp b/llvm/utils/TableGen/CodeGenSchedule.cpp index 5bd13d43bc2..c52d3b0e9fc 100644 --- a/llvm/utils/TableGen/CodeGenSchedule.cpp +++ b/llvm/utils/TableGen/CodeGenSchedule.cpp @@ -1529,9 +1529,6 @@ void CodeGenSchedModels::checkCompleteness() { bool Complete = true; bool HadCompleteModel = false; for (const CodeGenProcModel &ProcModel : procModels()) { - // Note that long-term we should check "CompleteModel", but for now most - // models that claim to be complete are actually not so we use a separate - // "CheckCompleteness" bit. if (!ProcModel.ModelDef->getValueAsBit("CompleteModel")) continue; for (const CodeGenInstruction *Inst : Target.getInstructionsByEnumValue()) { @@ -1550,11 +1547,14 @@ void CodeGenSchedModels::checkCompleteness() { const CodeGenSchedClass &SC = getSchedClass(SCIdx); if (!SC.Writes.empty()) continue; + if (SC.ItinClassDef != nullptr) + continue; const RecVec &InstRWs = SC.InstRWs; auto I = std::find_if(InstRWs.begin(), InstRWs.end(), [&ProcModel] (const Record *R) { - return R->getValueAsDef("SchedModel") == ProcModel.ModelDef; + return R->getValueAsDef("SchedModel") == + ProcModel.ModelDef; }); if (I == InstRWs.end()) { PrintError("'" + ProcModel.ModelName + "' lacks information for '" + |