Use std::set instead of std::vector for TargetRegisterDescriptors

This commit is contained in:
Nav
2021-08-30 22:23:27 +01:00
parent 4c4bde45cf
commit 3b458bd12d
6 changed files with 18 additions and 22 deletions

View File

@@ -67,7 +67,7 @@ void Avr8::loadTargetRegisterDescriptors() {
generalPurposeRegisterDescriptor.name = "R" + std::to_string(i);
generalPurposeRegisterDescriptor.groupName = "General Purpose CPU Registers";
this->targetRegisterDescriptorsByType[generalPurposeRegisterDescriptor.type].emplace_back(
this->targetRegisterDescriptorsByType[generalPurposeRegisterDescriptor.type].insert(
generalPurposeRegisterDescriptor
);
}
@@ -101,13 +101,13 @@ void Avr8::loadTargetRegisterDescriptors() {
programCounterRegisterDescriptor.groupName = "CPU";
programCounterRegisterDescriptor.description = "Program Counter";
this->targetRegisterDescriptorsByType[stackPointerRegisterDescriptor.type].emplace_back(
this->targetRegisterDescriptorsByType[stackPointerRegisterDescriptor.type].insert(
stackPointerRegisterDescriptor
);
this->targetRegisterDescriptorsByType[statusRegisterDescriptor.type].emplace_back(
this->targetRegisterDescriptorsByType[statusRegisterDescriptor.type].insert(
statusRegisterDescriptor
);
this->targetRegisterDescriptorsByType[programCounterRegisterDescriptor.type].emplace_back(
this->targetRegisterDescriptorsByType[programCounterRegisterDescriptor.type].insert(
programCounterRegisterDescriptor
);
}

View File

@@ -29,7 +29,7 @@ namespace Bloom::Targets::Microchip::Avr::Avr8Bit
std::optional<TargetParameters> targetParameters;
std::map<std::string, PadDescriptor> padDescriptorsByName;
std::map<int, TargetVariant> targetVariantsById;
std::map<TargetRegisterType, std::vector<TargetRegisterDescriptor>> targetRegisterDescriptorsByType;
std::map<TargetRegisterType, TargetRegisterDescriptors> targetRegisterDescriptorsByType;
/**
* Resolves the appropriate TDF for the AVR8 target and populates this->targetDescriptionFile.