mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-02 16:56:50 +00:00
Link NamedMDNodes after linking GlobalValues, so that MDNodes
which reference GlobalValues are properly remapped. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111949 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e5835fbe7f
commit
e422d1b162
@ -1244,9 +1244,6 @@ Linker::LinkModules(Module *Dest, Module *Src, std::string *ErrorMsg) {
|
|||||||
AppendingVars.insert(std::make_pair(I->getName(), I));
|
AppendingVars.insert(std::make_pair(I->getName(), I));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Insert all of the named mdnoes in Src into the Dest module.
|
|
||||||
LinkNamedMDNodes(Dest, Src, ValueMap);
|
|
||||||
|
|
||||||
// Insert all of the globals in src into the Dest module... without linking
|
// Insert all of the globals in src into the Dest module... without linking
|
||||||
// initializers (which could refer to functions not yet mapped over).
|
// initializers (which could refer to functions not yet mapped over).
|
||||||
if (LinkGlobals(Dest, Src, ValueMap, AppendingVars, ErrorMsg))
|
if (LinkGlobals(Dest, Src, ValueMap, AppendingVars, ErrorMsg))
|
||||||
@ -1280,6 +1277,11 @@ Linker::LinkModules(Module *Dest, Module *Src, std::string *ErrorMsg) {
|
|||||||
// Resolve all uses of aliases with aliasees
|
// Resolve all uses of aliases with aliasees
|
||||||
if (ResolveAliases(Dest)) return true;
|
if (ResolveAliases(Dest)) return true;
|
||||||
|
|
||||||
|
// Remap all of the named mdnoes in Src into the Dest module. We do this
|
||||||
|
// after linking GlobalValues so that MDNodes that reference GlobalValues
|
||||||
|
// are properly remapped.
|
||||||
|
LinkNamedMDNodes(Dest, Src, ValueMap);
|
||||||
|
|
||||||
// If the source library's module id is in the dependent library list of the
|
// 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.
|
// destination library, remove it since that module is now linked in.
|
||||||
sys::Path modId;
|
sys::Path modId;
|
||||||
|
Loading…
Reference in New Issue
Block a user