summaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/SubtargetEmitter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/utils/TableGen/SubtargetEmitter.cpp')
-rw-r--r--llvm/utils/TableGen/SubtargetEmitter.cpp34
1 files changed, 18 insertions, 16 deletions
diff --git a/llvm/utils/TableGen/SubtargetEmitter.cpp b/llvm/utils/TableGen/SubtargetEmitter.cpp
index 394e2eb42c15..c568f6747f4f 100644
--- a/llvm/utils/TableGen/SubtargetEmitter.cpp
+++ b/llvm/utils/TableGen/SubtargetEmitter.cpp
@@ -284,7 +284,7 @@ unsigned SubtargetEmitter::FeatureKeyValues(raw_ostream &OS,
<< "\"" << CommandLineName << "\", "
<< "\"" << Desc << "\", " << Target << "::" << Name << ", ";
- RecVec ImpliesList = Feature->getValueAsListOfDefs("Implies");
+ ConstRecVec ImpliesList = Feature->getValueAsListOfConstDefs("Implies");
printFeatureMask(OS, ImpliesList, FeatureMap);
@@ -320,8 +320,9 @@ unsigned SubtargetEmitter::CPUKeyValues(raw_ostream &OS,
for (const Record *Processor : ProcessorList) {
StringRef Name = Processor->getValueAsString("Name");
- RecVec FeatureList = Processor->getValueAsListOfDefs("Features");
- RecVec TuneFeatureList = Processor->getValueAsListOfDefs("TuneFeatures");
+ ConstRecVec FeatureList = Processor->getValueAsListOfConstDefs("Features");
+ ConstRecVec TuneFeatureList =
+ Processor->getValueAsListOfConstDefs("TuneFeatures");
// Emit as "{ "cpu", "description", 0, { f1 , f2 , ... fn } },".
OS << " { "
@@ -366,7 +367,7 @@ void SubtargetEmitter::FormItineraryStageString(const std::string &Name,
ItinString += " { " + itostr(Cycles) + ", ";
// Get unit list
- RecVec UnitList = Stage->getValueAsListOfDefs("Units");
+ ConstRecVec UnitList = Stage->getValueAsListOfConstDefs("Units");
// For each unit
for (unsigned j = 0, M = UnitList.size(); j < M;) {
@@ -444,7 +445,7 @@ void SubtargetEmitter::EmitStageAndOperandCycleData(
if (!ItinsDefSet.insert(ProcModel.ItinsDef).second)
continue;
- RecVec FUs = ProcModel.ItinsDef->getValueAsListOfDefs("FU");
+ ConstRecVec FUs = ProcModel.ItinsDef->getValueAsListOfConstDefs("FU");
if (FUs.empty())
continue;
@@ -458,7 +459,7 @@ void SubtargetEmitter::EmitStageAndOperandCycleData(
OS << "} // end namespace " << Name << "FU\n";
- RecVec BPs = ProcModel.ItinsDef->getValueAsListOfDefs("BP");
+ ConstRecVec BPs = ProcModel.ItinsDef->getValueAsListOfConstDefs("BP");
if (!BPs.empty()) {
OS << "\n// Pipeline forwarding paths for itineraries \"" << Name
<< "\"\n"
@@ -682,8 +683,7 @@ void SubtargetEmitter::EmitProcessorResourceSubUnits(
const Record *PRDef = ProcModel.ProcResourceDefs[i];
if (!PRDef->isSubClassOf("ProcResGroup"))
continue;
- RecVec ResUnits = PRDef->getValueAsListOfDefs("Resources");
- for (const Record *RUDef : ResUnits) {
+ for (const Record *RUDef : PRDef->getValueAsListOfDefs("Resources")) {
const Record *RU =
SchedModels.findProcResUnits(RUDef, ProcModel, PRDef->getLoc());
for (unsigned J = 0; J < RU->getValueAsInt("NumUnits"); ++J) {
@@ -842,8 +842,7 @@ void SubtargetEmitter::EmitProcessorResources(const CodeGenProcModel &ProcModel,
const unsigned SubUnitsBeginOffset = SubUnitsOffset;
int BufferSize = PRDef->getValueAsInt("BufferSize");
if (PRDef->isSubClassOf("ProcResGroup")) {
- RecVec ResUnits = PRDef->getValueAsListOfDefs("Resources");
- for (const Record *RU : ResUnits) {
+ for (const Record *RU : PRDef->getValueAsListOfDefs("Resources")) {
NumUnits += RU->getValueAsInt("NumUnits");
SubUnitsOffset += RU->getValueAsInt("NumUnits");
}
@@ -1028,7 +1027,7 @@ void SubtargetEmitter::ExpandProcResources(
for (const Record *PR : PM.ProcResourceDefs) {
if (PR == PRDef || !PR->isSubClassOf("ProcResGroup"))
continue;
- RecVec SuperResources = PR->getValueAsListOfDefs("Resources");
+ ConstRecVec SuperResources = PR->getValueAsListOfConstDefs("Resources");
ConstRecIter SubI = SubResources.begin(), SubE = SubResources.end();
for (; SubI != SubE; ++SubI) {
if (!is_contained(SuperResources, *SubI)) {
@@ -1105,16 +1104,18 @@ void SubtargetEmitter::GenSchedClassTables(const CodeGenProcModel &ProcModel,
if (RWDef) {
Writes.clear();
Reads.clear();
- SchedModels.findRWs(RWDef->getValueAsListOfDefs("OperandReadWrites"),
- Writes, Reads);
+ SchedModels.findRWs(
+ RWDef->getValueAsListOfConstDefs("OperandReadWrites"), Writes,
+ Reads);
}
}
if (Writes.empty()) {
// Check this processor's itinerary class resources.
for (const Record *I : ProcModel.ItinRWDefs) {
- RecVec Matched = I->getValueAsListOfDefs("MatchedItinClasses");
+ ConstRecVec Matched =
+ I->getValueAsListOfConstDefs("MatchedItinClasses");
if (is_contained(Matched, SC.ItinClassDef)) {
- SchedModels.findRWs(I->getValueAsListOfDefs("OperandReadWrites"),
+ SchedModels.findRWs(I->getValueAsListOfConstDefs("OperandReadWrites"),
Writes, Reads);
break;
}
@@ -1274,7 +1275,8 @@ void SubtargetEmitter::GenSchedClassTables(const CodeGenProcModel &ProcModel,
SCDesc.NumMicroOps = MCSchedClassDesc::InvalidNumMicroOps;
break;
}
- RecVec ValidWrites = ReadAdvance->getValueAsListOfDefs("ValidWrites");
+ ConstRecVec ValidWrites =
+ ReadAdvance->getValueAsListOfConstDefs("ValidWrites");
IdxVec WriteIDs;
if (ValidWrites.empty())
WriteIDs.push_back(0);