diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-06-15 04:50:36 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-06-15 04:50:36 +0000 |
commit | ae1920b1efa72c1789d562df4746110d0c2e10bd (patch) | |
tree | 22d7d8690b9997d57f32d4a0fd850b3d99dd0846 /utils/TableGen/AsmMatcherEmitter.cpp | |
parent | 393c4047c05b6d7b5851d339e51bb2cc35f630c2 (diff) | |
download | llvm-ae1920b1efa72c1789d562df4746110d0c2e10bd.tar.gz llvm-ae1920b1efa72c1789d562df4746110d0c2e10bd.tar.bz2 llvm-ae1920b1efa72c1789d562df4746110d0c2e10bd.tar.xz |
Give CodeGenRegisterClass a real sorted member set.
Make the Elements vector private and expose an ArrayRef through
getOrder() instead. getOrder will eventually provide multiple
user-specified allocation orders.
Use the sorted member set for member and subclass tests. Clean up a lot
of ad hoc searches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133040 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/AsmMatcherEmitter.cpp')
-rw-r--r-- | utils/TableGen/AsmMatcherEmitter.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/utils/TableGen/AsmMatcherEmitter.cpp b/utils/TableGen/AsmMatcherEmitter.cpp index bbe43493d1..1d7a67bf66 100644 --- a/utils/TableGen/AsmMatcherEmitter.cpp +++ b/utils/TableGen/AsmMatcherEmitter.cpp @@ -896,8 +896,8 @@ BuildRegisterClasses(SmallPtrSet<Record*, 16> &SingletonRegisters) { // Gather the defined sets. for (std::vector<CodeGenRegisterClass>::const_iterator it = RegClassList.begin(), ie = RegClassList.end(); it != ie; ++it) - RegisterSets.insert(std::set<Record*>(it->Elements.begin(), - it->Elements.end())); + RegisterSets.insert(std::set<Record*>(it->getOrder().begin(), + it->getOrder().end())); // Add any required singleton sets. for (SmallPtrSet<Record*, 16>::iterator it = SingletonRegisters.begin(), @@ -971,8 +971,8 @@ BuildRegisterClasses(SmallPtrSet<Record*, 16> &SingletonRegisters) { // Name the register classes which correspond to a user defined RegisterClass. for (std::vector<CodeGenRegisterClass>::const_iterator it = RegClassList.begin(), ie = RegClassList.end(); it != ie; ++it) { - ClassInfo *CI = RegisterSetClasses[std::set<Record*>(it->Elements.begin(), - it->Elements.end())]; + ClassInfo *CI = RegisterSetClasses[std::set<Record*>(it->getOrder().begin(), + it->getOrder().end())]; if (CI->ValueName.empty()) { CI->ClassName = it->getName(); CI->Name = "MCK_" + it->getName(); |