[llvm] r262548 - TableGen: Accept itinerary data when checking for schedmodel completeness

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 2 16:04:59 PST 2016


Author: matze
Date: Wed Mar  2 18:04:59 2016
New Revision: 262548

URL: http://llvm.org/viewvc/llvm-project?rev=262548&view=rev
Log:
TableGen: Accept itinerary data when checking for schedmodel completeness

Modified:
    llvm/trunk/utils/TableGen/CodeGenSchedule.cpp

Modified: llvm/trunk/utils/TableGen/CodeGenSchedule.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenSchedule.cpp?rev=262548&r1=262547&r2=262548&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/CodeGenSchedule.cpp (original)
+++ llvm/trunk/utils/TableGen/CodeGenSchedule.cpp Wed Mar  2 18:04:59 2016
@@ -1529,9 +1529,6 @@ void CodeGenSchedModels::checkCompletene
   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::checkCompletene
       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 '" +




More information about the llvm-commits mailing list