diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-05-26 21:47:28 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-05-26 21:47:28 +0000 |
commit | 160a3bf74d1a2b048f65e2162d038ed96eddde01 (patch) | |
tree | aa064690b9d5e87ddefe8972545155d9b7e1b772 /utils/TableGen/CodeGenTarget.cpp | |
parent | 113b3e2c6e30efd7c852d31e98b2d21778e52d1e (diff) | |
download | llvm-160a3bf74d1a2b048f65e2162d038ed96eddde01.tar.gz llvm-160a3bf74d1a2b048f65e2162d038ed96eddde01.tar.bz2 llvm-160a3bf74d1a2b048f65e2162d038ed96eddde01.tar.xz |
Add StringRef::compare_numeric and use it to sort TableGen register records.
This means that our Registers are now ordered R7, R8, R9, R10, R12, ...
Not R1, R10, R11, R12, R2, R3, ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104745 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenTarget.cpp')
-rw-r--r-- | utils/TableGen/CodeGenTarget.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp index 5d45489230..3797992d9d 100644 --- a/utils/TableGen/CodeGenTarget.cpp +++ b/utils/TableGen/CodeGenTarget.cpp @@ -159,6 +159,7 @@ void CodeGenTarget::ReadRegisters() const { std::vector<Record*> Regs = Records.getAllDerivedDefinitions("Register"); if (Regs.empty()) throw std::string("No 'Register' subclasses defined!"); + std::sort(Regs.begin(), Regs.end(), LessRecord()); Registers.reserve(Regs.size()); Registers.assign(Regs.begin(), Regs.end()); @@ -175,6 +176,7 @@ const std::string &CodeGenRegister::getName() const { void CodeGenTarget::ReadSubRegIndices() const { SubRegIndices = Records.getAllDerivedDefinitions("SubRegIndex"); + std::sort(SubRegIndices.begin(), SubRegIndices.end(), LessRecord()); } void CodeGenTarget::ReadRegisterClasses() const { |