diff options
| author | Andrew Trick <atrick@apple.com> | 2012-04-03 00:47:23 +0000 |
|---|---|---|
| committer | Andrew Trick <atrick@apple.com> | 2012-04-03 00:47:23 +0000 |
| commit | c544e7c0a7f5ecd8796ebce12d2e6356b8f6f720 (patch) | |
| tree | c46b3eff19e5ba6866163813d15ade1024ca3b21 /llvm/utils/TableGen | |
| parent | b7e821a6aa9abdfe6c7cf2bccae68e757089df8a (diff) | |
| download | bcm5719-llvm-c544e7c0a7f5ecd8796ebce12d2e6356b8f6f720.tar.gz bcm5719-llvm-c544e7c0a7f5ecd8796ebce12d2e6356b8f6f720.zip | |
Use std::set_union instead of nasty custom code.
I just noticed Jakob's examples of the proper application of
std::set... routines.
llvm-svn: 153918
Diffstat (limited to 'llvm/utils/TableGen')
| -rw-r--r-- | llvm/utils/TableGen/CodeGenRegisters.cpp | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/llvm/utils/TableGen/CodeGenRegisters.cpp b/llvm/utils/TableGen/CodeGenRegisters.cpp index cdf20ff8083..609bf540e2e 100644 --- a/llvm/utils/TableGen/CodeGenRegisters.cpp +++ b/llvm/utils/TableGen/CodeGenRegisters.cpp @@ -91,21 +91,11 @@ const std::string &CodeGenRegister::getName() const { // Merge two RegUnitLists maintaining the order and removing duplicates. // Overwrites MergedRU in the process. static void mergeRegUnits(CodeGenRegister::RegUnitList &MergedRU, - const CodeGenRegister::RegUnitList &RRU) -{ + const CodeGenRegister::RegUnitList &RRU) { CodeGenRegister::RegUnitList LRU = MergedRU; MergedRU.clear(); - for (CodeGenRegister::RegUnitList::const_iterator - RI = RRU.begin(), RE = RRU.end(), LI = LRU.begin(), LE = LRU.end(); - RI != RE || LI != LE;) { - - CodeGenRegister::RegUnitList::const_iterator &NextI = - (RI != RE && (LI == LE || *RI < *LI)) ? RI : LI; - - if (MergedRU.empty() || *NextI != MergedRU.back()) - MergedRU.push_back(*NextI); - ++NextI; - } + std::set_union(LRU.begin(), LRU.end(), RRU.begin(), RRU.end(), + std::inserter(MergedRU, MergedRU.begin())); } const CodeGenRegister::SubRegMap & |

