[SchedModel] Use CodeGenSchedClass::isKeyEqual instead of duplicating code. NFCI.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 21 Mar 2018 17:57:21 +0000 (17:57 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 21 Mar 2018 17:57:21 +0000 (17:57 +0000)
llvm-svn: 328126

llvm/utils/TableGen/CodeGenSchedule.cpp
llvm/utils/TableGen/CodeGenSchedule.h

index 8f51df8..eafa7ae 100644 (file)
@@ -652,12 +652,9 @@ void CodeGenSchedModels::collectSchedClasses() {
 unsigned CodeGenSchedModels::findSchedClassIdx(Record *ItinClassDef,
                                                ArrayRef<unsigned> Writes,
                                                ArrayRef<unsigned> Reads) const {
-  for (SchedClassIter I = schedClassBegin(), E = schedClassEnd(); I != E; ++I) {
-    if (I->ItinClassDef == ItinClassDef && makeArrayRef(I->Writes) == Writes &&
-        makeArrayRef(I->Reads) == Reads) {
+  for (SchedClassIter I = schedClassBegin(), E = schedClassEnd(); I != E; ++I)
+    if (I->isKeyEqual(ItinClassDef, Writes, Reads))
       return I - schedClassBegin();
-    }
-  }
   return 0;
 }
 
index 59c084b..3265cfb 100644 (file)
@@ -141,7 +141,8 @@ struct CodeGenSchedClass {
 
   CodeGenSchedClass(): Index(0), ItinClassDef(nullptr) {}
 
-  bool isKeyEqual(Record *IC, ArrayRef<unsigned> W, ArrayRef<unsigned> R) {
+  bool isKeyEqual(Record *IC, ArrayRef<unsigned> W,
+                  ArrayRef<unsigned> R) const {
     return ItinClassDef == IC && makeArrayRef(Writes) == W &&
            makeArrayRef(Reads) == R;
   }