reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
868 assert(SchedClasses.empty() && "Expected empty sched class"); 869 SchedClasses.emplace_back(0, "NoInstrModel", 871 SchedClasses.back().ProcIndices.push_back(0); 892 NumInstrSchedClasses = SchedClasses.size(); 935 const RecVec &RWDefs = SchedClasses[SCIdx].InstRWs; 1019 if (Idx || SchedClasses[0].isKeyEqual(ItinClassDef, OperWrites, OperReads)) { 1021 std::set_union(SchedClasses[Idx].ProcIndices.begin(), 1022 SchedClasses[Idx].ProcIndices.end(), 1025 SchedClasses[Idx].ProcIndices = std::move(PI); 1028 Idx = SchedClasses.size(); 1029 SchedClasses.emplace_back(Idx, 1033 CodeGenSchedClass &SC = SchedClasses.back(); 1069 const RecVec &RWDefs = SchedClasses[OldSCIdx].InstRWs; 1077 assert(SchedClasses[OldSCIdx].ProcIndices[0] == 0 && 1097 << SchedClasses[OldSCIdx].Name << " on " 1099 SchedClasses[OldSCIdx].InstRWs.push_back(InstRWDef); 1104 unsigned SCIdx = SchedClasses.size(); 1105 SchedClasses.emplace_back(SCIdx, createSchedClassName(InstDefs), nullptr); 1106 CodeGenSchedClass &SC = SchedClasses.back(); 1112 SC.ItinClassDef = SchedClasses[OldSCIdx].ItinClassDef; 1113 SC.Writes = SchedClasses[OldSCIdx].Writes; 1114 SC.Reads = SchedClasses[OldSCIdx].Reads; 1119 for (Record *OldRWDef : SchedClasses[OldSCIdx].InstRWs) { 1190 << " missing itinerary for class " << SchedClasses[i].Name 1230 for (unsigned Idx = 0; Idx != SchedClasses.size(); ++Idx) { 1231 assert(SchedClasses[Idx].Index == Idx && "bad SCIdx"); 1233 if (SchedClasses[Idx].ItinClassDef) 1234 inferFromItinClass(SchedClasses[Idx].ItinClassDef, Idx); 1235 if (!SchedClasses[Idx].InstRWs.empty()) 1237 if (!SchedClasses[Idx].Writes.empty()) { 1238 inferFromRW(SchedClasses[Idx].Writes, SchedClasses[Idx].Reads, 1238 inferFromRW(SchedClasses[Idx].Writes, SchedClasses[Idx].Reads, 1239 Idx, SchedClasses[Idx].ProcIndices); 1241 assert(SchedClasses.size() < (NumInstrSchedClasses*6) && 1271 for (unsigned I = 0, E = SchedClasses[SCIdx].InstRWs.size(); I != E; ++I) { 1272 assert(SchedClasses[SCIdx].InstRWs.size() == E && "InstrRWs was mutated!"); 1273 Record *Rec = SchedClasses[SCIdx].InstRWs[I];utils/TableGen/CodeGenSchedule.h
451 class_iterator classes_begin() { return SchedClasses.begin(); } 452 const_class_iterator classes_begin() const { return SchedClasses.begin(); } 453 class_iterator classes_end() { return SchedClasses.end(); } 454 const_class_iterator classes_end() const { return SchedClasses.end(); } 537 assert(Idx < SchedClasses.size() && "bad SchedClass index"); 538 return SchedClasses[Idx]; 541 assert(Idx < SchedClasses.size() && "bad SchedClass index"); 542 return SchedClasses[Idx]; 551 SchedClassIter schedClassBegin() const { return SchedClasses.begin(); } 552 SchedClassIter schedClassEnd() const { return SchedClasses.end(); } 553 ArrayRef<CodeGenSchedClass> schedClasses() const { return SchedClasses; }