[llvm] [X86][NFC] Reorder the registers to reduce unnecessary iterations (PR #70222)
Phoebe Wang via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 25 19:18:20 PDT 2023
================
@@ -1175,24 +1175,21 @@ CodeGenRegBank::CodeGenRegBank(RecordKeeper &Records,
for (auto &Idx : SubRegIndices)
Idx.updateComponents(*this);
- // Read in the register definitions.
+ // Read in the register and register tuple definitions.
std::vector<Record*> Regs = Records.getAllDerivedDefinitions("Register");
- llvm::sort(Regs, LessRecordRegister());
- // Assign the enumeration values.
- for (unsigned i = 0, e = Regs.size(); i != e; ++i)
- getReg(Regs[i]);
-
- // Expand tuples and number the new registers.
std::vector<Record*> Tups =
Records.getAllDerivedDefinitions("RegisterTuples");
-
for (Record *R : Tups) {
+ // Expand tuples and merge the vectors
std::vector<Record *> TupRegs = *Sets.expand(R);
- llvm::sort(TupRegs, LessRecordRegister());
- for (Record *RC : TupRegs)
- getReg(RC);
+ Regs.insert(Regs.end(), TupRegs.begin(), TupRegs.end());
}
+ llvm::sort(Regs, LessRecordRegister());
+ // Assign the enumeration values.
+ for (unsigned i = 0, e = Regs.size(); i != e; ++i)
+ getReg(Regs[i]);
+
----------------
phoebewang wrote:
Why switch the order? This doesn't seem related to your change.
https://github.com/llvm/llvm-project/pull/70222
More information about the llvm-commits
mailing list