<< "\"" << Desc << "\", "
<< "{ " << Target << "::" << Name << " }, ";
- const std::vector<Record*> &ImpliesList =
- Feature->getValueAsListOfDefs("Implies");
+ RecVec ImpliesList = Feature->getValueAsListOfDefs("Implies");
OS << "{";
for (unsigned j = 0, M = ImpliesList.size(); j < M;) {
// For each processor
for (Record *Processor : ProcessorList) {
StringRef Name = Processor->getValueAsString("Name");
- const std::vector<Record*> &FeatureList =
- Processor->getValueAsListOfDefs("Features");
+ RecVec FeatureList = Processor->getValueAsListOfDefs("Features");
// Emit as { "cpu", "description", { f1 , f2 , ... fn } },
OS << " { "
std::string &ItinString,
unsigned &NStages) {
// Get states list
- const std::vector<Record*> &StageList =
- ItinData->getValueAsListOfDefs("Stages");
+ RecVec StageList = ItinData->getValueAsListOfDefs("Stages");
// For each stage
unsigned N = NStages = StageList.size();
ItinString += " { " + itostr(Cycles) + ", ";
// Get unit list
- const std::vector<Record*> &UnitList = Stage->getValueAsListOfDefs("Units");
+ RecVec UnitList = Stage->getValueAsListOfDefs("Units");
// For each unit
for (unsigned j = 0, M = UnitList.size(); j < M;) {
void SubtargetEmitter::FormItineraryOperandCycleString(Record *ItinData,
std::string &ItinString, unsigned &NOperandCycles) {
// Get operand cycle list
- const std::vector<int64_t> &OperandCycleList =
+ std::vector<int64_t> OperandCycleList =
ItinData->getValueAsListOfInts("OperandCycles");
// For each operand cycle
Record *ItinData,
std::string &ItinString,
unsigned NOperandCycles) {
- const std::vector<Record*> &BypassList =
- ItinData->getValueAsListOfDefs("Bypasses");
+ RecVec BypassList = ItinData->getValueAsListOfDefs("Bypasses");
unsigned N = BypassList.size();
unsigned i = 0;
for (; i < N;) {
if (!ItinsDefSet.insert(ProcModel.ItinsDef).second)
continue;
- std::vector<Record*> FUs = ProcModel.ItinsDef->getValueAsListOfDefs("FU");
+ RecVec FUs = ProcModel.ItinsDef->getValueAsListOfDefs("FU");
if (FUs.empty())
continue;
OS << "} // end namespace " << Name << "FU\n";
- std::vector<Record*> BPs = ProcModel.ItinsDef->getValueAsListOfDefs("BP");
+ RecVec BPs = ProcModel.ItinsDef->getValueAsListOfDefs("BP");
if (!BPs.empty()) {
OS << "\n// Pipeline forwarding paths for itineraries \"" << Name
<< "\"\n" << "namespace " << Name << "Bypass {\n";