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));
|
||||
}
|
||||
|
||||
// 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
|
||||
// initializers (which could refer to functions not yet mapped over).
|
||||
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
|
||||
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
|
||||
// destination library, remove it since that module is now linked in.
|
||||
sys::Path modId;
|
||||
|
Loading…
Reference in New Issue
Block a user