[llvm] r274344 - function_refify. NFC.

Benjamin Kramer via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 1 04:05:15 PDT 2016


Author: d0k
Date: Fri Jul  1 06:05:15 2016
New Revision: 274344

URL: http://llvm.org/viewvc/llvm-project?rev=274344&view=rev
Log:
function_refify. NFC.

While there use emplace_back to create an expensive pair.

Modified:
    llvm/trunk/include/llvm/Object/IRObjectFile.h
    llvm/trunk/lib/Object/IRObjectFile.cpp

Modified: llvm/trunk/include/llvm/Object/IRObjectFile.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/IRObjectFile.h?rev=274344&r1=274343&r2=274344&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Object/IRObjectFile.h (original)
+++ llvm/trunk/include/llvm/Object/IRObjectFile.h Fri Jul  1 06:05:15 2016
@@ -67,8 +67,7 @@ public:
   /// symbol found and the associated flags.
   static void CollectAsmUndefinedRefs(
       const Triple &TheTriple, StringRef InlineAsm,
-      const std::function<void(StringRef, BasicSymbolRef::Flags)> &
-          AsmUndefinedRefs);
+      function_ref<void(StringRef, BasicSymbolRef::Flags)> AsmUndefinedRefs);
 
   /// \brief Finds and returns bitcode in the given memory buffer (which may
   /// be either a bitcode file or a native object file with embedded bitcode),

Modified: llvm/trunk/lib/Object/IRObjectFile.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/IRObjectFile.cpp?rev=274344&r1=274343&r2=274344&view=diff
==============================================================================
--- llvm/trunk/lib/Object/IRObjectFile.cpp (original)
+++ llvm/trunk/lib/Object/IRObjectFile.cpp Fri Jul  1 06:05:15 2016
@@ -38,20 +38,17 @@ using namespace object;
 IRObjectFile::IRObjectFile(MemoryBufferRef Object, std::unique_ptr<Module> Mod)
     : SymbolicFile(Binary::ID_IR, Object), M(std::move(Mod)) {
   Mang.reset(new Mangler());
-  CollectAsmUndefinedRefs(
-      Triple(M->getTargetTriple()), M->getModuleInlineAsm(),
-      [this](StringRef Name, BasicSymbolRef::Flags Flags) {
-        AsmSymbols.push_back(
-            std::make_pair<std::string, uint32_t>(Name, std::move(Flags)));
-      });
+  CollectAsmUndefinedRefs(Triple(M->getTargetTriple()), M->getModuleInlineAsm(),
+                          [this](StringRef Name, BasicSymbolRef::Flags Flags) {
+                            AsmSymbols.emplace_back(Name, std::move(Flags));
+                          });
 }
 
 // Parse inline ASM and collect the list of symbols that are not defined in
 // the current module. This is inspired from IRObjectFile.
 void IRObjectFile::CollectAsmUndefinedRefs(
     const Triple &TT, StringRef InlineAsm,
-    const std::function<void(StringRef, BasicSymbolRef::Flags)> &
-        AsmUndefinedRefs) {
+    function_ref<void(StringRef, BasicSymbolRef::Flags)> AsmUndefinedRefs) {
   if (InlineAsm.empty())
     return;
 




More information about the llvm-commits mailing list