[PATCH] D20522: [misched] Extend scheduler to handle unsupported features

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 16 15:12:51 PDT 2016


MatzeB added a comment.

This is a nice addition.

As John Brawn already said the additions to TargetSchedule.td need to be better documented (describe the behaviour and ideally also show a short example). Why wasn't this added as a `list<Predicate> UnsupportedPredicates;` field to SchedMachineModel? Defining unrelated UnsupportedFeatures entities with a string seems odd.


================
Comment at: lib/CodeGen/TargetSchedule.cpp:215
@@ -214,3 +214,3 @@
     errs() << "DefIdx " << DefIdx << " exceeds machine model writes for "
-           << *DefMI << " (Try with MCSchedModel.CompleteModel set to false)";
+           << *DefMI << " (Try with MCSchedModel.CompleteModel set to false)\n";
     llvm_unreachable("incomplete machine model");
----------------
Just commit this unrelated trivial change independently of this patch/review.

================
Comment at: utils/TableGen/CodeGenSchedule.cpp:842-844
@@ +841,5 @@
+            LessRecord());
+  for (RecIter II = UnsupportedFeaturesDefs.begin(),
+               IE = UnsupportedFeaturesDefs.end();
+       II != IE; ++II) {
+    if (!(*II)->getValueInit("SchedModel")->isComplete())
----------------
You can use a range based for here.


Repository:
  rL LLVM

http://reviews.llvm.org/D20522





More information about the llvm-commits mailing list