[poolalloc] r238381 - CallTargets: Actually erase duplicate callee entries once identified.

Will Dietz wdietz2 at illinois.edu
Wed May 27 16:33:24 PDT 2015


Author: wdietz2
Date: Wed May 27 18:33:24 2015
New Revision: 238381

URL: http://llvm.org/viewvc/llvm-project?rev=238381&view=rev
Log:
CallTargets: Actually erase duplicate callee entries once identified.

Also, use same comparator for unique() determination as used when doing
original sort.


Modified:
    poolalloc/trunk/lib/DSA/CallTargets.cpp

Modified: poolalloc/trunk/lib/DSA/CallTargets.cpp
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/lib/DSA/CallTargets.cpp?rev=238381&r1=238380&r2=238381&view=diff
==============================================================================
--- poolalloc/trunk/lib/DSA/CallTargets.cpp (original)
+++ poolalloc/trunk/lib/DSA/CallTargets.cpp Wed May 27 18:33:24 2015
@@ -166,11 +166,13 @@ bool CallTargetFinder<dsa>::runOnModule(
   // Sort callees alphabetically, remove duplicates
   for(auto &i: IndMap) {
     auto &callees = i.second;
-    std::sort(callees.begin(), callees.end(),
-              [](const Function *a, const Function *b) {
-                return a->getName() < b->getName();
-              });
-    std::unique(callees.begin(), callees.end());
+    auto FuncNameCmp = [](const Function *a, const Function *b) {
+      return a->getName() < b->getName();
+    };
+
+    std::sort(callees.begin(), callees.end(), FuncNameCmp);
+    callees.erase(std::unique(callees.begin(), callees.end(), FuncNameCmp),
+                  callees.end());
   }
 
   return false;





More information about the llvm-commits mailing list