summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2016-07-01 11:05:15 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2016-07-01 11:05:15 +0000
commitb0b52fc4c6bcfa57336c4cfc99a1c723ff29d75f (patch)
treee43bd7f244799d8294a0d97e0a90f5b8458b7637
parent52c4e17f8af7cceb7f22a5fd38ee98e955047d27 (diff)
downloadbcm5719-llvm-b0b52fc4c6bcfa57336c4cfc99a1c723ff29d75f.tar.gz
bcm5719-llvm-b0b52fc4c6bcfa57336c4cfc99a1c723ff29d75f.zip
function_refify. NFC.
While there use emplace_back to create an expensive pair. llvm-svn: 274344
-rw-r--r--llvm/include/llvm/Object/IRObjectFile.h3
-rw-r--r--llvm/lib/Object/IRObjectFile.cpp13
2 files changed, 6 insertions, 10 deletions
diff --git a/llvm/include/llvm/Object/IRObjectFile.h b/llvm/include/llvm/Object/IRObjectFile.h
index 0cf31d91582..9fe011e17d6 100644
--- a/llvm/include/llvm/Object/IRObjectFile.h
+++ b/llvm/include/llvm/Object/IRObjectFile.h
@@ -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),
diff --git a/llvm/lib/Object/IRObjectFile.cpp b/llvm/lib/Object/IRObjectFile.cpp
index f4f332ab563..42c8ecd62da 100644
--- a/llvm/lib/Object/IRObjectFile.cpp
+++ b/llvm/lib/Object/IRObjectFile.cpp
@@ -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;
OpenPOWER on IntegriCloud