[llvm] r348421 - Fix buildbot capture warning

Jessica Paquette via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 5 14:47:25 PST 2018


Author: paquette
Date: Wed Dec  5 14:47:25 2018
New Revision: 348421

URL: http://llvm.org/viewvc/llvm-project?rev=348421&view=rev
Log:
Fix buildbot capture warning

A bot didn't like my lambda. This ought to fix it.

Example:

http://lab.llvm.org:8011/builders/lld-x86_64-win7/builds/30139/steps/build%20lld/logs/stdio

error C3493: 'AlreadyRemoved' cannot be implicitly captured because no default
capture mode has been specified

Modified:
    llvm/trunk/lib/CodeGen/MachineOutliner.cpp

Modified: llvm/trunk/lib/CodeGen/MachineOutliner.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineOutliner.cpp?rev=348421&r1=348420&r2=348421&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/MachineOutliner.cpp (original)
+++ llvm/trunk/lib/CodeGen/MachineOutliner.cpp Wed Dec  5 14:47:25 2018
@@ -1264,10 +1264,6 @@ bool MachineOutliner::outline(
   // Number to append to the current outlined function.
   unsigned OutlinedFunctionNum = 0;
 
-  // If something was already removed, its entry in the UnsignedVec will be
-  // this.
-  const unsigned AlreadyRemoved = static_cast<unsigned>(-1);
-
   // Sort by benefit. The most beneficial functions should be outlined first.
   std::stable_sort(
       FunctionList.begin(), FunctionList.end(),
@@ -1281,9 +1277,10 @@ bool MachineOutliner::outline(
     // If we outlined something that overlapped with a candidate in a previous
     // step, then we can't outline from it.
     erase_if(OF.Candidates, [&Mapper](std::shared_ptr<Candidate> &C) {
-      return std::any_of(Mapper.UnsignedVec.begin() + C->getStartIdx(),
-                         Mapper.UnsignedVec.begin() + C->getEndIdx() + 1,
-                         [](unsigned I) { return (I == AlreadyRemoved); });
+      return std::any_of(
+          Mapper.UnsignedVec.begin() + C->getStartIdx(),
+          Mapper.UnsignedVec.begin() + C->getEndIdx() + 1,
+          [](unsigned I) { return (I == static_cast<unsigned>(-1)); });
     });
 
     // If we made it unbeneficial to outline this function, skip it.
@@ -1344,10 +1341,10 @@ bool MachineOutliner::outline(
       // Erase needs one past the end, so we need std::next there too.
       MBB.erase(std::next(StartIt), std::next(EndIt));
 
-      // Keep track of what we removed.
+      // Keep track of what we removed by marking them all as -1.
       std::for_each(Mapper.UnsignedVec.begin() + C.getStartIdx(),
                     Mapper.UnsignedVec.begin() + C.getEndIdx() + 1,
-                    [](unsigned &I) { I = AlreadyRemoved; });
+                    [](unsigned &I) { I = static_cast<unsigned>(-1); });
       OutlinedSomething = true;
 
       // Statistics.




More information about the llvm-commits mailing list