mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
Simplify ownership of RegClasses by using list<CodeGenRegisterClass> instead of vector<CodeGenRegisterClass*>
This complicates a few algorithms due to not having random access, but not by a huge degree I don't think (open to debate/design discussion/etc). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223261 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -233,8 +233,8 @@ getRegisterVTs(Record *R) const {
|
||||
const CodeGenRegister *Reg = getRegBank().getReg(R);
|
||||
std::vector<MVT::SimpleValueType> Result;
|
||||
for (const auto &RC : getRegBank().getRegClasses()) {
|
||||
if (RC->contains(Reg)) {
|
||||
ArrayRef<MVT::SimpleValueType> InVTs = RC->getValueTypes();
|
||||
if (RC.contains(Reg)) {
|
||||
ArrayRef<MVT::SimpleValueType> InVTs = RC.getValueTypes();
|
||||
Result.insert(Result.end(), InVTs.begin(), InVTs.end());
|
||||
}
|
||||
}
|
||||
@@ -247,9 +247,8 @@ getRegisterVTs(Record *R) const {
|
||||
|
||||
|
||||
void CodeGenTarget::ReadLegalValueTypes() const {
|
||||
for (const auto *RC : getRegBank().getRegClasses())
|
||||
for (unsigned ri = 0, re = RC->VTs.size(); ri != re; ++ri)
|
||||
LegalValueTypes.push_back(RC->VTs[ri]);
|
||||
for (const auto &RC : getRegBank().getRegClasses())
|
||||
LegalValueTypes.insert(LegalValueTypes.end(), RC.VTs.begin(), RC.VTs.end());
|
||||
|
||||
// Remove duplicates.
|
||||
std::sort(LegalValueTypes.begin(), LegalValueTypes.end());
|
||||
|
||||
Reference in New Issue
Block a user