<div dir="ltr">LGTM. Thanks!</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 28, 2017 at 2:28 AM, George Rimar via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: grimar<br>
Date: Mon Aug 28 02:28:15 2017<br>
New Revision: 311878<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=311878&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=311878&view=rev</a><br>
Log:<br>
[ELF] - Simplify (use llvm::erase_if). NFC.<br>
<br>
Modified:<br>
    lld/trunk/ELF/LinkerScript.cpp<br>
    lld/trunk/ELF/Writer.cpp<br>
<br>
Modified: lld/trunk/ELF/LinkerScript.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/LinkerScript.cpp?rev=311878&r1=311877&r2=311878&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/lld/trunk/ELF/<wbr>LinkerScript.cpp?rev=311878&<wbr>r1=311877&r2=311878&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- lld/trunk/ELF/LinkerScript.cpp (original)<br>
+++ lld/trunk/ELF/LinkerScript.cpp Mon Aug 28 02:28:15 2017<br>
@@ -642,13 +642,11 @@ void LinkerScript::<wbr>removeEmptyCommands()<br>
   // clutter the output.<br>
   // We instead remove trivially empty sections. The bfd linker seems even<br>
   // more aggressive at removing them.<br>
-  auto Pos = std::remove_if(Opt.Commands.<wbr>begin(), Opt.Commands.end(),<br>
-                            [&](BaseCommand *Base) {<br>
-                              if (auto *Sec = dyn_cast<OutputSection>(Base))<br>
-                                return !Sec->Live;<br>
-                              return false;<br>
-                            });<br>
-  Opt.Commands.erase(Pos, Opt.Commands.end());<br>
+  llvm::erase_if(Opt.Commands, [&](BaseCommand *Base) {<br>
+    if (auto *Sec = dyn_cast<OutputSection>(Base))<br>
+      return !Sec->Live;<br>
+    return false;<br>
+  });<br>
 }<br>
<br>
 static bool isAllSectionDescription(const OutputSection &Cmd) {<br>
@@ -778,10 +776,8 @@ void LinkerScript::allocateHeaders(<wbr>std::<br>
     Phdrs.erase(It);<br>
   }<br>
<br>
-  auto PhdrI = llvm::find_if(<br>
-      Phdrs, [](const PhdrEntry *E) { return E->p_type == PT_PHDR; });<br>
-  if (PhdrI != Phdrs.end())<br>
-    Phdrs.erase(PhdrI);<br>
+  llvm::erase_if(Phdrs,<br>
+                 [](const PhdrEntry *E) { return E->p_type == PT_PHDR; });<br>
 }<br>
<br>
 LinkerScript::AddressState::<wbr>AddressState(const ScriptConfiguration &Opt) {<br>
<br>
Modified: lld/trunk/ELF/Writer.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=311878&r1=311877&r2=311878&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/lld/trunk/ELF/Writer.<wbr>cpp?rev=311878&r1=311877&r2=<wbr>311878&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- lld/trunk/ELF/Writer.cpp (original)<br>
+++ lld/trunk/ELF/Writer.cpp Mon Aug 28 02:28:15 2017<br>
@@ -123,7 +123,7 @@ template <class ELFT> static bool needsI<br>
 template <class ELFT> void elf::writeResult() { Writer<ELFT>().run(); }<br>
<br>
 template <class ELFT> void Writer<ELFT>::<wbr>removeEmptyPTLoad() {<br>
-  auto I = llvm::remove_if(Phdrs, [&](const PhdrEntry *P) {<br>
+  llvm::erase_if(Phdrs, [&](const PhdrEntry *P) {<br>
     if (P->p_type != PT_LOAD)<br>
       return false;<br>
     if (!P->First)<br>
@@ -131,7 +131,6 @@ template <class ELFT> void Writer<ELFT>:<br>
     uint64_t Size = P->Last->Addr + P->Last->Size - P->First->Addr;<br>
     return Size == 0;<br>
   });<br>
-  Phdrs.erase(I, Phdrs.end());<br>
 }<br>
<br>
 template <class ELFT> static void combineEhFrameSections() {<br>
@@ -1141,13 +1140,11 @@ static void removeUnusedSyntheticSection<br>
     // output.<br>
     if (OS->Commands.empty()) {<br>
       // Also remove script commands matching the output section.<br>
-      auto &Cmds = Script->Opt.Commands;<br>
-      auto I = std::remove_if(Cmds.begin(), Cmds.end(), [&](BaseCommand *Cmd2) {<br>
-        if (auto *Sec = dyn_cast<OutputSection>(Cmd2))<br>
+      llvm::erase_if(Script->Opt.<wbr>Commands, [&](BaseCommand *Cmd) {<br>
+        if (auto *Sec = dyn_cast<OutputSection>(Cmd))<br>
           return Sec == OS;<br>
         return false;<br>
       });<br>
-      Cmds.erase(I, Cmds.end());<br>
     }<br>
   }<br>
 }<br>
<br>
<br>
______________________________<wbr>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>