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

John Brawn via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 16 10:01:47 PDT 2016


john.brawn added a subscriber: john.brawn.
john.brawn added a comment.

This seems like a useful thing to have, but I have some comments.


================
Comment at: include/llvm/Target/TargetSchedule.td:409
@@ -408,1 +408,3 @@
 
+class UnsupportedFeatures<string predicates> {
+  string Predicates = predicates;
----------------
Needs a comment describing what this class is for.

================
Comment at: include/llvm/Target/TargetSchedule.td:410
@@ +409,3 @@
+class UnsupportedFeatures<string predicates> {
+  string Predicates = predicates;
+  SchedMachineModel SchedModel = ?;
----------------
What exactly is Predicates? The name 'Predicates' and the comment for UnsupportedFeaturesDefs which says "unsupported feature combinations" suggests a list of some kind, but isUnsupported looks through each element of the Predicates list of an instruction and compares its name against this Predicates string, which would mean that Predicates is actually just a single predicate name, and collectProcUnsupportedFeatures also looks like it expects it to be a single predicate name.

Either way, perhaps also change to a list<Predicate> or Predicate (depending on if this is meant to be a list or not) instead of a string, as that way you can remove the code in collectProcUnsupportedFeatures that checks if it's a predicate that exists.


Repository:
  rL LLVM

http://reviews.llvm.org/D20522





More information about the llvm-commits mailing list