diff options
author | Stephen Hines <srhines@google.com> | 2013-01-21 13:15:17 -0800 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2013-01-21 13:15:17 -0800 |
commit | 059800f9e3fee2852672f846d91a2da14da7783a (patch) | |
tree | a6ef16b7263252ae1b8069295ea9cbbae0d9467d /lib/Linker | |
parent | cbefa15de4821975bb99fc6d74b3bdb42b2df45c (diff) | |
parent | b6714227eda5d499f7667fc865f931126a8dc488 (diff) | |
download | external_llvm-059800f9e3fee2852672f846d91a2da14da7783a.zip external_llvm-059800f9e3fee2852672f846d91a2da14da7783a.tar.gz external_llvm-059800f9e3fee2852672f846d91a2da14da7783a.tar.bz2 |
Merge remote-tracking branch 'upstream/master' into merge-llvm
Conflicts:
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
lib/MC/MCAssembler.cpp
lib/Support/Atomic.cpp
lib/Support/Memory.cpp
lib/Target/ARM/ARMJITInfo.cpp
Change-Id: Ib339baf88df5b04870c8df1bedcfe1f877ccab8d
Diffstat (limited to 'lib/Linker')
-rw-r--r-- | lib/Linker/LinkArchives.cpp | 2 | ||||
-rw-r--r-- | lib/Linker/LinkItems.cpp | 29 | ||||
-rw-r--r-- | lib/Linker/LinkModules.cpp | 25 | ||||
-rw-r--r-- | lib/Linker/Linker.cpp | 4 |
4 files changed, 11 insertions, 49 deletions
diff --git a/lib/Linker/LinkArchives.cpp b/lib/Linker/LinkArchives.cpp index c16d195..a35991c 100644 --- a/lib/Linker/LinkArchives.cpp +++ b/lib/Linker/LinkArchives.cpp @@ -13,9 +13,9 @@ //===----------------------------------------------------------------------===// #include "llvm/Linker.h" -#include "llvm/Module.h" #include "llvm/ADT/SetOperations.h" #include "llvm/Bitcode/Archive.h" +#include "llvm/IR/Module.h" #include <memory> #include <set> using namespace llvm; diff --git a/lib/Linker/LinkItems.cpp b/lib/Linker/LinkItems.cpp index 52a0d17..8c6ed42 100644 --- a/lib/Linker/LinkItems.cpp +++ b/lib/Linker/LinkItems.cpp @@ -13,11 +13,11 @@ //===----------------------------------------------------------------------===// #include "llvm/Linker.h" -#include "llvm/Module.h" #include "llvm/Bitcode/ReaderWriter.h" -#include "llvm/Support/Path.h" +#include "llvm/IR/Module.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/MemoryBuffer.h" +#include "llvm/Support/Path.h" #include "llvm/Support/system_error.h" using namespace llvm; @@ -51,20 +51,6 @@ Linker::LinkInItems(const ItemList& Items, ItemList& NativeItems) { } } - // At this point we have processed all the link items provided to us. Since - // we have an aggregated module at this point, the dependent libraries in - // that module should also be aggregated with duplicates eliminated. This is - // now the time to process the dependent libraries to resolve any remaining - // symbols. - bool is_native; - for (Module::lib_iterator I = Composite->lib_begin(), - E = Composite->lib_end(); I != E; ++I) { - if(LinkInLibrary(*I, is_native)) - return true; - if (is_native) - NativeItems.push_back(std::make_pair(*I, true)); - } - return false; } @@ -128,17 +114,6 @@ bool Linker::LinkInLibraries(const std::vector<std::string> &Libraries) { if (LinkInLibrary(Libraries[i], is_native)) return true; - // At this point we have processed all the libraries provided to us. Since - // we have an aggregated module at this point, the dependent libraries in - // that module should also be aggregated with duplicates eliminated. This is - // now the time to process the dependent libraries to resolve any remaining - // symbols. - const Module::LibraryListType& DepLibs = Composite->getLibraries(); - for (Module::LibraryListType::const_iterator I = DepLibs.begin(), - E = DepLibs.end(); I != E; ++I) - if (LinkInLibrary(*I, is_native)) - return true; - return false; } diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp index a6599bf..e973919 100644 --- a/lib/Linker/LinkModules.cpp +++ b/lib/Linker/LinkModules.cpp @@ -12,21 +12,21 @@ //===----------------------------------------------------------------------===// #include "llvm/Linker.h" -#include "llvm/Constants.h" -#include "llvm/DerivedTypes.h" -#include "llvm/Instructions.h" -#include "llvm/Module.h" -#include "llvm/TypeFinder.h" +#include "llvm-c/Linker.h" #include "llvm/ADT/DenseSet.h" #include "llvm/ADT/Optional.h" #include "llvm/ADT/SetVector.h" #include "llvm/ADT/SmallPtrSet.h" +#include "llvm/IR/Constants.h" +#include "llvm/IR/DerivedTypes.h" +#include "llvm/IR/Instructions.h" +#include "llvm/IR/Module.h" +#include "llvm/IR/TypeFinder.h" #include "llvm/Support/Debug.h" #include "llvm/Support/Path.h" #include "llvm/Support/raw_ostream.h" #include "llvm/Transforms/Utils/Cloning.h" #include "llvm/Transforms/Utils/ValueMapper.h" -#include "llvm-c/Linker.h" #include <cctype> using namespace llvm; @@ -1187,19 +1187,6 @@ bool ModuleLinker::run() { SrcM->getModuleInlineAsm()); } - // Update the destination module's dependent libraries list with the libraries - // from the source module. There's no opportunity for duplicates here as the - // Module ensures that duplicate insertions are discarded. - for (Module::lib_iterator SI = SrcM->lib_begin(), SE = SrcM->lib_end(); - SI != SE; ++SI) - DstM->addLibrary(*SI); - - // If the source library's module id is in the dependent library list of the - // destination library, remove it since that module is now linked in. - StringRef ModuleId = SrcM->getModuleIdentifier(); - if (!ModuleId.empty()) - DstM->removeLibrary(sys::path::stem(ModuleId)); - // Loop over all of the linked values to compute type mappings. computeTypeMapping(); diff --git a/lib/Linker/Linker.cpp b/lib/Linker/Linker.cpp index 7c6cf4f..a30363d 100644 --- a/lib/Linker/Linker.cpp +++ b/lib/Linker/Linker.cpp @@ -12,10 +12,10 @@ //===----------------------------------------------------------------------===// #include "llvm/Linker.h" -#include "llvm/Module.h" #include "llvm/Bitcode/ReaderWriter.h" -#include "llvm/Support/Path.h" +#include "llvm/IR/Module.h" #include "llvm/Support/MemoryBuffer.h" +#include "llvm/Support/Path.h" #include "llvm/Support/raw_ostream.h" #include "llvm/Support/system_error.h" using namespace llvm; |