summaryrefslogtreecommitdiff
path: root/lib/Linker
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2011-08-04 19:44:28 +0000
committerDevang Patel <dpatel@apple.com>2011-08-04 19:44:28 +0000
commit211da8f7a96e26cc8d53a0c2ea34f6b791513021 (patch)
treeabeb7f3a6ccda1e1469abd02d87f24396ec33d2b /lib/Linker
parent0ecd825e54f2235c133b44c967a612551633106c (diff)
downloadllvm-211da8f7a96e26cc8d53a0c2ea34f6b791513021.tar.gz
llvm-211da8f7a96e26cc8d53a0c2ea34f6b791513021.tar.bz2
llvm-211da8f7a96e26cc8d53a0c2ea34f6b791513021.tar.xz
Linke NamedMDNodes after linking global values as comment suggests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136909 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Linker')
-rw-r--r--lib/Linker/LinkModules.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp
index 0c078607bc..b075711b7d 100644
--- a/lib/Linker/LinkModules.cpp
+++ b/lib/Linker/LinkModules.cpp
@@ -896,11 +896,6 @@ bool ModuleLinker::run() {
// Loop over all of the linked values to compute type mappings.
computeTypeMapping();
- // Remap all of the named mdnoes in Src into the DstM module. We do this
- // after linking GlobalValues so that MDNodes that reference GlobalValues
- // are properly remapped.
- linkNamedMDNodes();
-
// Insert all of the globals in src into the DstM module... without linking
// initializers (which could refer to functions not yet mapped over).
for (Module::global_iterator I = SrcM->global_begin(),
@@ -941,6 +936,11 @@ bool ModuleLinker::run() {
// Resolve all uses of aliases with aliasees.
linkAliasBodies();
+ // Remap all of the named mdnoes in Src into the DstM module. We do this
+ // after linking GlobalValues so that MDNodes that reference GlobalValues
+ // are properly remapped.
+ linkNamedMDNodes();
+
// Now that all of the types from the source are used, resolve any structs
// copied over to the dest that didn't exist there.
TypeMap.linkDefinedTypeBodies();