@@ -61,26 +61,26 @@ struct ScheduleClass {
61
61
class DFAPacketizerEmitter {
62
62
private:
63
63
std::string TargetName;
64
- RecordKeeper &Records;
64
+ const RecordKeeper &Records;
65
65
66
66
UniqueVector<ResourceVector> UniqueResources;
67
67
std::vector<ScheduleClass> ScheduleClasses;
68
68
std::map<std::string, uint64_t > FUNameToBitsMap;
69
69
std::map<unsigned , uint64_t > ComboBitToBitsMap;
70
70
71
71
public:
72
- DFAPacketizerEmitter (RecordKeeper &R);
72
+ DFAPacketizerEmitter (const RecordKeeper &R);
73
73
74
74
// Construct a map of function unit names to bits.
75
75
int collectAllFuncUnits (ArrayRef<const CodeGenProcModel *> ProcModels);
76
76
77
77
// Construct a map from a combo function unit bit to the bits of all included
78
78
// functional units.
79
- int collectAllComboFuncs (ArrayRef<Record *> ComboFuncList);
79
+ int collectAllComboFuncs (ArrayRef<const Record *> ComboFuncList);
80
80
81
81
ResourceVector getResourcesForItinerary (const Record *Itinerary);
82
82
void createScheduleClasses (unsigned ItineraryIdx,
83
- const ConstRecVec & Itineraries);
83
+ ArrayRef< const Record *> Itineraries);
84
84
85
85
// Emit code for a subset of itineraries.
86
86
void emitForItineraries (raw_ostream &OS,
@@ -91,7 +91,7 @@ class DFAPacketizerEmitter {
91
91
};
92
92
} // end anonymous namespace
93
93
94
- DFAPacketizerEmitter::DFAPacketizerEmitter (RecordKeeper &R)
94
+ DFAPacketizerEmitter::DFAPacketizerEmitter (const RecordKeeper &R)
95
95
: TargetName(std::string(CodeGenTarget(R).getName())), Records(R) {}
96
96
97
97
int DFAPacketizerEmitter::collectAllFuncUnits (
@@ -108,7 +108,7 @@ int DFAPacketizerEmitter::collectAllFuncUnits(
108
108
int totalFUs = 0 ;
109
109
// Parse functional units for all the itineraries.
110
110
for (const Record *Proc : ProcItinList) {
111
- std::vector<Record *> FUs = Proc->getValueAsListOfDefs (" FU" );
111
+ std::vector<const Record *> FUs = Proc->getValueAsListOfConstDefs (" FU" );
112
112
113
113
LLVM_DEBUG (dbgs () << " FU:"
114
114
<< " (" << FUs.size () << " FUs) " << Proc->getName ());
@@ -130,16 +130,16 @@ int DFAPacketizerEmitter::collectAllFuncUnits(
130
130
}
131
131
132
132
int DFAPacketizerEmitter::collectAllComboFuncs (
133
- ArrayRef<Record *> ComboFuncList) {
133
+ ArrayRef<const Record *> ComboFuncList) {
134
134
LLVM_DEBUG (dbgs () << " -------------------------------------------------------"
135
135
" ----------------------\n " );
136
136
LLVM_DEBUG (dbgs () << " collectAllComboFuncs" );
137
137
LLVM_DEBUG (dbgs () << " (" << ComboFuncList.size () << " sets)\n " );
138
138
139
139
int numCombos = 0 ;
140
140
for (unsigned i = 0 , N = ComboFuncList.size (); i < N; ++i) {
141
- Record *Func = ComboFuncList[i];
142
- std::vector<Record *> FUs = Func->getValueAsListOfDefs (" CFD" );
141
+ const Record *Func = ComboFuncList[i];
142
+ std::vector<const Record *> FUs = Func->getValueAsListOfConstDefs (" CFD" );
143
143
144
144
LLVM_DEBUG (dbgs () << " CFD:" << i << " (" << FUs.size () << " combo FUs) "
145
145
<< Func->getName () << " \n " );
@@ -148,16 +148,16 @@ int DFAPacketizerEmitter::collectAllComboFuncs(
148
148
for (unsigned j = 0 , N = FUs.size (); j < N; ++j) {
149
149
assert ((j < DFA_MAX_RESOURCES) &&
150
150
" Exceeded maximum number of DFA resources" );
151
- Record *FuncData = FUs[j];
152
- Record *ComboFunc = FuncData->getValueAsDef (" TheComboFunc" );
153
- const std::vector<Record *> & FuncList =
154
- FuncData->getValueAsListOfDefs (" FuncList" );
151
+ const Record *FuncData = FUs[j];
152
+ const Record *ComboFunc = FuncData->getValueAsDef (" TheComboFunc" );
153
+ const std::vector<const Record *> FuncList =
154
+ FuncData->getValueAsListOfConstDefs (" FuncList" );
155
155
const std::string &ComboFuncName = std::string (ComboFunc->getName ());
156
156
uint64_t ComboBit = FUNameToBitsMap[ComboFuncName];
157
157
uint64_t ComboResources = ComboBit;
158
158
LLVM_DEBUG (dbgs () << " combo: " << ComboFuncName << " :0x"
159
159
<< Twine::utohexstr (ComboResources) << " \n " );
160
- for (auto *K : FuncList) {
160
+ for (const Record *K : FuncList) {
161
161
std::string FuncName = std::string (K->getName ());
162
162
uint64_t FuncResources = FUNameToBitsMap[FuncName];
163
163
LLVM_DEBUG (dbgs () << " " << FuncName << " :0x"
@@ -190,7 +190,7 @@ DFAPacketizerEmitter::getResourcesForItinerary(const Record *Itinerary) {
190
190
}
191
191
192
192
void DFAPacketizerEmitter::createScheduleClasses (
193
- unsigned ItineraryIdx, const ConstRecVec & Itineraries) {
193
+ unsigned ItineraryIdx, ArrayRef< const Record *> Itineraries) {
194
194
unsigned Idx = 0 ;
195
195
for (const Record *Itinerary : Itineraries) {
196
196
if (!Itinerary) {
0 commit comments