[llvm-commits] [llvm] r153918 - /llvm/trunk/utils/TableGen/CodeGenRegisters.cpp

Andrew Trick atrick at apple.com
Mon Apr 2 17:47:24 PDT 2012


Author: atrick
Date: Mon Apr  2 19:47:23 2012
New Revision: 153918

URL: http://llvm.org/viewvc/llvm-project?rev=153918&view=rev
Log:
Use std::set_union instead of nasty custom code.

I just noticed Jakob's examples of the proper application of
std::set... routines.

Modified:
    llvm/trunk/utils/TableGen/CodeGenRegisters.cpp

Modified: llvm/trunk/utils/TableGen/CodeGenRegisters.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenRegisters.cpp?rev=153918&r1=153917&r2=153918&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/CodeGenRegisters.cpp (original)
+++ llvm/trunk/utils/TableGen/CodeGenRegisters.cpp Mon Apr  2 19:47:23 2012
@@ -91,21 +91,11 @@
 // 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 &





More information about the llvm-commits mailing list