[llvm] 485ebbf - [TableGen] Use emplace_back instead of resize to size() + 1. NFC.
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 13 08:00:44 PST 2024
Author: Jay Foad
Date: 2024-02-13T15:59:40Z
New Revision: 485ebbff55f41bd12ad768c2974d3280cb581307
URL: https://github.com/llvm/llvm-project/commit/485ebbff55f41bd12ad768c2974d3280cb581307
DIFF: https://github.com/llvm/llvm-project/commit/485ebbff55f41bd12ad768c2974d3280cb581307.diff
LOG: [TableGen] Use emplace_back instead of resize to size() + 1. NFC.
Added:
Modified:
llvm/utils/TableGen/CodeGenRegisters.cpp
llvm/utils/TableGen/CodeGenRegisters.h
llvm/utils/TableGen/SubtargetEmitter.cpp
Removed:
################################################################################
diff --git a/llvm/utils/TableGen/CodeGenRegisters.cpp b/llvm/utils/TableGen/CodeGenRegisters.cpp
index 25ef31097b53be..dd1850752aad61 100644
--- a/llvm/utils/TableGen/CodeGenRegisters.cpp
+++ b/llvm/utils/TableGen/CodeGenRegisters.cpp
@@ -1986,15 +1986,15 @@ void CodeGenRegBank::computeRegUnitSets() {
continue;
// Speculatively grow the RegUnitSets to hold the new set.
- RegUnitSets.resize(RegUnitSets.size() + 1);
- RegUnitSets.back().Name = RC.getName();
+ RegUnitSet &RUSet = RegUnitSets.emplace_back();
+ RUSet.Name = RC.getName();
// Compute a sorted list of units in this class.
- RC.buildRegUnitSet(*this, RegUnitSets.back().Units);
+ RC.buildRegUnitSet(*this, RUSet.Units);
// Find an existing RegUnitSet.
std::vector<RegUnitSet>::const_iterator SetI =
- findRegUnitSet(RegUnitSets, RegUnitSets.back());
+ findRegUnitSet(RegUnitSets, RUSet);
if (SetI != std::prev(RegUnitSets.end()))
RegUnitSets.pop_back();
}
@@ -2043,27 +2043,26 @@ void CodeGenRegBank::computeRegUnitSets() {
continue;
// Speculatively grow the RegUnitSets to hold the new set.
- RegUnitSets.resize(RegUnitSets.size() + 1);
- RegUnitSets.back().Name =
+ RegUnitSet &RUSet = RegUnitSets.emplace_back();
+ RUSet.Name =
RegUnitSets[Idx].Name + "_with_" + RegUnitSets[SearchIdx].Name;
std::set_union(RegUnitSets[Idx].Units.begin(),
RegUnitSets[Idx].Units.end(),
RegUnitSets[SearchIdx].Units.begin(),
RegUnitSets[SearchIdx].Units.end(),
- std::inserter(RegUnitSets.back().Units,
- RegUnitSets.back().Units.begin()));
+ std::inserter(RUSet.Units, RUSet.Units.begin()));
// Find an existing RegUnitSet, or add the union to the unique sets.
std::vector<RegUnitSet>::const_iterator SetI =
- findRegUnitSet(RegUnitSets, RegUnitSets.back());
+ findRegUnitSet(RegUnitSets, RUSet);
if (SetI != std::prev(RegUnitSets.end()))
RegUnitSets.pop_back();
else {
LLVM_DEBUG(dbgs() << "UnitSet " << RegUnitSets.size() - 1 << " "
- << RegUnitSets.back().Name << ":";
+ << RUSet.Name << ":";
for (auto &U
- : RegUnitSets.back().Units) printRegUnitName(U);
+ : RUSet.Units) printRegUnitName(U);
dbgs() << "\n";);
}
}
@@ -2138,8 +2137,7 @@ void CodeGenRegBank::computeRegUnitSets() {
RegUnits[UnitIdx].RegClassUnitSetsIdx = RCUnitSetsIdx;
if (RCUnitSetsIdx == RegClassUnitSets.size()) {
// Create a new list of UnitSets as a "fake" register class.
- RegClassUnitSets.resize(RCUnitSetsIdx + 1);
- RegClassUnitSets[RCUnitSetsIdx] = std::move(RUSets);
+ RegClassUnitSets.push_back(std::move(RUSets));
}
}
}
diff --git a/llvm/utils/TableGen/CodeGenRegisters.h b/llvm/utils/TableGen/CodeGenRegisters.h
index cfc6d87c4ce3a9..fc5cd67e2d553d 100644
--- a/llvm/utils/TableGen/CodeGenRegisters.h
+++ b/llvm/utils/TableGen/CodeGenRegisters.h
@@ -712,8 +712,7 @@ class CodeGenRegBank {
// Create a native register unit that is associated with one or two root
// registers.
unsigned newRegUnit(CodeGenRegister *R0, CodeGenRegister *R1 = nullptr) {
- RegUnits.resize(RegUnits.size() + 1);
- RegUnit &RU = RegUnits.back();
+ RegUnit &RU = RegUnits.emplace_back();
RU.Roots[0] = R0;
RU.Roots[1] = R1;
RU.Artificial = R0->Artificial;
@@ -725,8 +724,8 @@ class CodeGenRegBank {
// Create a new non-native register unit that can be adopted by a register
// to increase its pressure. Note that NumNativeRegUnits is not increased.
unsigned newRegUnit(unsigned Weight) {
- RegUnits.resize(RegUnits.size() + 1);
- RegUnits.back().Weight = Weight;
+ RegUnit &RU = RegUnits.emplace_back();
+ RU.Weight = Weight;
return RegUnits.size() - 1;
}
diff --git a/llvm/utils/TableGen/SubtargetEmitter.cpp b/llvm/utils/TableGen/SubtargetEmitter.cpp
index ebe39167703c8c..2707f54eed6e9b 100644
--- a/llvm/utils/TableGen/SubtargetEmitter.cpp
+++ b/llvm/utils/TableGen/SubtargetEmitter.cpp
@@ -486,11 +486,10 @@ void SubtargetEmitter::EmitStageAndOperandCycleData(
std::map<std::string, unsigned> ItinStageMap, ItinOperandMap;
for (const CodeGenProcModel &ProcModel : SchedModels.procModels()) {
// Add process itinerary to the list.
- ProcItinLists.resize(ProcItinLists.size() + 1);
+ std::vector<InstrItinerary> &ItinList = ProcItinLists.emplace_back();
// If this processor defines no itineraries, then leave the itinerary list
// empty.
- std::vector<InstrItinerary> &ItinList = ProcItinLists.back();
if (!ProcModel.hasItineraries())
continue;
@@ -1029,17 +1028,16 @@ void SubtargetEmitter::ExpandProcResources(
// tables. Must be called for each processor in order.
void SubtargetEmitter::GenSchedClassTables(const CodeGenProcModel &ProcModel,
SchedClassTables &SchedTables) {
- SchedTables.ProcSchedClasses.resize(SchedTables.ProcSchedClasses.size() + 1);
+ std::vector<MCSchedClassDesc> &SCTab =
+ SchedTables.ProcSchedClasses.emplace_back();
if (!ProcModel.hasInstrSchedModel())
return;
- std::vector<MCSchedClassDesc> &SCTab = SchedTables.ProcSchedClasses.back();
LLVM_DEBUG(dbgs() << "\n+++ SCHED CLASSES (GenSchedClassTables) +++\n");
for (const CodeGenSchedClass &SC : SchedModels.schedClasses()) {
LLVM_DEBUG(SC.dump(&SchedModels));
- SCTab.resize(SCTab.size() + 1);
- MCSchedClassDesc &SCDesc = SCTab.back();
+ MCSchedClassDesc &SCDesc = SCTab.emplace_back();
// SCDesc.Name is guarded by NDEBUG
SCDesc.NumMicroOps = 0;
SCDesc.BeginGroup = false;
More information about the llvm-commits
mailing list