From: Rafael Espindola Date: Sat, 4 May 2013 04:08:02 +0000 (+0000) Subject: Implement Linker::LinkModules with Linker::linkInModule. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=2e013028f2dd99527044d50808a44ae89d6ba537;p=oota-llvm.git Implement Linker::LinkModules with Linker::linkInModule. Flipping which one is the implementation will let us optimize linkInModule. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181102 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp index 161c269ef0a..9801966f9d5 100644 --- a/lib/Linker/LinkModules.cpp +++ b/lib/Linker/LinkModules.cpp @@ -1287,7 +1287,13 @@ Linker::~Linker() { } bool Linker::linkInModule(Module *Src, unsigned Mode, std::string *ErrorMsg) { - return LinkModules(Composite, Src, Linker::DestroySource, ErrorMsg); + ModuleLinker TheLinker(Composite, Src, Mode); + if (TheLinker.run()) { + if (ErrorMsg) + *ErrorMsg = TheLinker.ErrorMsg; + return true; + } + return false; } //===----------------------------------------------------------------------===// @@ -1301,13 +1307,8 @@ bool Linker::linkInModule(Module *Src, unsigned Mode, std::string *ErrorMsg) { /// and shouldn't be relied on to be consistent. bool Linker::LinkModules(Module *Dest, Module *Src, unsigned Mode, std::string *ErrorMsg) { - ModuleLinker TheLinker(Dest, Src, Mode); - if (TheLinker.run()) { - if (ErrorMsg) *ErrorMsg = TheLinker.ErrorMsg; - return true; - } - - return false; + Linker L(Dest); + return L.linkInModule(Src, Mode, ErrorMsg); } //===----------------------------------------------------------------------===//