summaryrefslogtreecommitdiff
path: root/tools/llvm-link
diff options
context:
space:
mode:
authorMehdi Amini <mehdi.amini@apple.com>2015-12-02 04:34:28 +0000
committerMehdi Amini <mehdi.amini@apple.com>2015-12-02 04:34:28 +0000
commitaccfde3ad612bb30e426b1bc13760549a28fd9df (patch)
tree7bcc48a7353b79ab6778f8dc88842ca1c4a9fc47 /tools/llvm-link
parent569415a25bdab720be12062c3a0540ba026453db (diff)
Change ModuleLinker to take a set of GlobalValues to import instead of a single one
For efficiency reason, when importing multiple functions for the same Module, we can avoid reparsing it every time. Differential Revision: http://reviews.llvm.org/D15102 From: Mehdi Amini <mehdi.amini@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254486 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-link')
-rw-r--r--tools/llvm-link/llvm-link.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/llvm-link/llvm-link.cpp b/tools/llvm-link/llvm-link.cpp
index 2b63649cec2..9a373c25cc5 100644
--- a/tools/llvm-link/llvm-link.cpp
+++ b/tools/llvm-link/llvm-link.cpp
@@ -198,7 +198,10 @@ static bool importFunctions(const char *argv0, LLVMContext &Context,
}
// Link in the specified function.
- if (L.linkInModule(*M, Linker::Flags::None, Index.get(), F))
+ DenseSet<const GlobalValue *> FunctionToImport;
+ FunctionToImport.insert(F);
+ if (L.linkInModule(*M, Linker::Flags::None, Index.get(),
+ &FunctionToImport))
return false;
}
return true;