Link NamedMDNode before linking function bodies.
authorDevang Patel <dpatel@apple.com>
Thu, 14 Jul 2011 22:13:07 +0000 (22:13 +0000)
committerDevang Patel <dpatel@apple.com>
Thu, 14 Jul 2011 22:13:07 +0000 (22:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135204 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Linker/LinkModules.cpp

index f566c079e695f1f1ab4906fc6e24f8b627fac78d..55aa9bf188874564bbf76d98a30da6b817820983 100644 (file)
@@ -896,6 +896,11 @@ 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(),
@@ -936,11 +941,6 @@ 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();