mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-22 13:29:44 +00:00
iterator access to scheduling classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206552 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7b771af259
commit
bfe74b9bfb
@ -248,6 +248,28 @@ class CodeGenSchedModels {
|
|||||||
public:
|
public:
|
||||||
CodeGenSchedModels(RecordKeeper& RK, const CodeGenTarget &TGT);
|
CodeGenSchedModels(RecordKeeper& RK, const CodeGenTarget &TGT);
|
||||||
|
|
||||||
|
// iterator access to the scheduling classes.
|
||||||
|
typedef std::vector<CodeGenSchedClass>::iterator class_iterator;
|
||||||
|
typedef std::vector<CodeGenSchedClass>::const_iterator const_class_iterator;
|
||||||
|
class_iterator classes_begin() { return SchedClasses.begin(); }
|
||||||
|
const_class_iterator classes_begin() const { return SchedClasses.begin(); }
|
||||||
|
class_iterator classes_end() { return SchedClasses.end(); }
|
||||||
|
const_class_iterator classes_end() const { return SchedClasses.end(); }
|
||||||
|
iterator_range<class_iterator> classes() {
|
||||||
|
return iterator_range<class_iterator>(classes_begin(), classes_end());
|
||||||
|
}
|
||||||
|
iterator_range<const_class_iterator> classes() const {
|
||||||
|
return iterator_range<const_class_iterator>(classes_begin(), classes_end());
|
||||||
|
}
|
||||||
|
iterator_range<class_iterator> explicit_classes() {
|
||||||
|
return iterator_range<class_iterator>(
|
||||||
|
classes_begin(), classes_begin() + NumInstrSchedClasses);
|
||||||
|
}
|
||||||
|
iterator_range<const_class_iterator> explicit_classes() const {
|
||||||
|
return iterator_range<const_class_iterator>(
|
||||||
|
classes_begin(), classes_begin() + NumInstrSchedClasses);
|
||||||
|
}
|
||||||
|
|
||||||
Record *getModelOrItinDef(Record *ProcDef) const {
|
Record *getModelOrItinDef(Record *ProcDef) const {
|
||||||
Record *ModelDef = ProcDef->getValueAsDef("SchedModel");
|
Record *ModelDef = ProcDef->getValueAsDef("SchedModel");
|
||||||
Record *ItinsDef = ProcDef->getValueAsDef("ProcItin");
|
Record *ItinsDef = ProcDef->getValueAsDef("ProcItin");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user