Home | History | Annotate | Download | only in Linker

Lines Matching refs:Dest

51   /// linkDefinedTypeBodies - Produce a body for an opaque type in the dest
114 // Mapping an opaque type to any struct, just keep the dest struct.
121 // Mapping a non-opaque source type to an opaque dest. Keep the dest, but
170 /// linkDefinedTypeBodies - Produce a body for an opaque type in the dest
188 // Map the body of the source type over to a new body for the dest type.
332 GlobalVariable *NewGV; // New aggregate global in dest module.
333 Constant *DstInit; // Old initializer from dest module.
362 bool getLinkageResult(GlobalValue *Dest, const GlobalValue *Src,
377 // If we found a global with the same name in the dest module, but it has
442 bool ModuleLinker::getLinkageResult(GlobalValue *Dest, const GlobalValue *Src,
445 assert(Dest && "Must have two globals being queried");
447 "If Src has internal linkage, Dest shouldn't be set!");
450 bool DestIsDeclaration = Dest->isDeclaration();
453 // If Src is external or if both Src & Dest are external.. Just link the
461 } else if (Dest->hasExternalWeakLinkage()) {
462 // If the Dest is weak, use the source linkage.
467 LT = Dest->getLinkage();
469 } else if (DestIsDeclaration && !Dest->hasDLLImportLinkage()) {
470 // If Dest is external but Src is not:
474 // At this point we know that Dest has LinkOnce, External*, Weak, Common,
476 if (Dest->hasExternalWeakLinkage() ||
477 Dest->hasAvailableExternallyLinkage() ||
478 (Dest->hasLinkOnceLinkage() &&
484 LT = Dest->getLinkage();
486 } else if (Dest->isWeakForLinker()) {
490 LT = Dest->getLinkage();
496 assert((Dest->hasExternalLinkage() || Dest->hasDLLImportLinkage() ||
497 Dest->hasDLLExportLinkage() || Dest->hasExternalWeakLinkage()) &&
506 if (Src->getVisibility() != Dest->getVisibility() &&
509 !Dest->hasAvailableExternallyLinkage())
546 // any 'opaque' types in the dest module that are now resolved.
615 /// merge them into the dest module.
654 // identical version of the symbol over in the dest module... the
787 // linkGlobalInits - Update the initializers in the Dest module now that all
788 // globals that may be referenced are in Dest.
794 // Only process initialized GV's or ones not already in dest.
799 // Figure out what the initializer looks like in the dest module.
805 // linkFunctionBody - Copy the source function over into the dest function and
806 // fix up references to values. At this point we know that Dest is an external
822 // Splice the body of the source function into the dest function.
834 // Clone the body of the function into the dest function.
859 /// linkNamedMDNodes - Insert all of the named mdnodes in Src into the Dest
865 // Add Src elements into Dest node.
881 // Copy the target triple from the source to dest if the dest's is empty.
978 // copied over to the dest that didn't exist there.
991 // the problem. Upon failure, the Dest module could be in a modified state, and
993 bool Linker::LinkModules(Module *Dest, Module *Src, unsigned Mode,
995 ModuleLinker TheLinker(Dest, Src, Mode);