Lines Matching refs:GlobalValue
34 SetVector<GlobalValue *> ValuesToLink;
51 void addLazyFor(GlobalValue &GV, const IRMover::ValueAdder &Add);
56 bool shouldLinkFromSource(bool &LinkFromSrc, const GlobalValue &Dest,
57 const GlobalValue &Src);
77 DenseMap<const Comdat *, std::vector<GlobalValue *>> LazyComdatMembers;
81 GlobalValue *getLinkedToGlobal(const GlobalValue *SrcGV) { in getLinkedToGlobal()
85 if (!SrcGV->hasName() || GlobalValue::isLocalLinkage(SrcGV->getLinkage())) in getLinkedToGlobal()
89 GlobalValue *DGV = DstM.getNamedValue(SrcGV->getName()); in getLinkedToGlobal()
104 void dropReplacedComdat(GlobalValue &GV,
107 bool linkIfNeeded(GlobalValue &GV, SmallVectorImpl<GlobalValue *> &GVToClone);
120 static GlobalValue::VisibilityTypes
121 getMinVisibility(GlobalValue::VisibilityTypes A, in getMinVisibility()
122 GlobalValue::VisibilityTypes B) { in getMinVisibility()
123 if (A == GlobalValue::HiddenVisibility || B == GlobalValue::HiddenVisibility) in getMinVisibility()
124 return GlobalValue::HiddenVisibility; in getMinVisibility()
125 if (A == GlobalValue::ProtectedVisibility || in getMinVisibility()
126 B == GlobalValue::ProtectedVisibility) in getMinVisibility()
127 return GlobalValue::ProtectedVisibility; in getMinVisibility()
128 return GlobalValue::DefaultVisibility; in getMinVisibility()
133 const GlobalValue *GVal = M.getNamedValue(ComdatName); in getComdatLeader()
241 const GlobalValue &Dest, in shouldLinkFromSource()
242 const GlobalValue &Src) { in shouldLinkFromSource()
328 bool ModuleLinker::linkIfNeeded(GlobalValue &GV, in linkIfNeeded()
329 SmallVectorImpl<GlobalValue *> &GVToClone) { in linkIfNeeded()
330 GlobalValue *DGV = getLinkedToGlobal(&GV); in linkIfNeeded()
366 GlobalValue::VisibilityTypes Visibility = in linkIfNeeded()
371 GlobalValue::UnnamedAddr UnnamedAddr = GlobalValue::getMinUnnamedAddr( in linkIfNeeded()
402 void ModuleLinker::addLazyFor(GlobalValue &GV, const IRMover::ValueAdder &Add) { in addLazyFor()
415 for (GlobalValue *GV2 : LazyComdatMembers[SC]) { in addLazyFor()
416 GlobalValue *DGV = getLinkedToGlobal(GV2); in addLazyFor()
429 GlobalValue &GV, const DenseSet<const Comdat *> &ReplacedDstComdats) { in dropReplacedComdat()
447 GlobalValue *Declaration; in dropReplacedComdat()
449 Declaration = Function::Create(FTy, GlobalValue::ExternalLinkage, "", &M); in dropReplacedComdat()
453 GlobalValue::ExternalLinkage, in dropReplacedComdat()
515 GO->setLinkage(GlobalValue::AvailableExternallyLinkage); in run()
538 SmallVector<GlobalValue *, 0> GVToClone; in run()
559 for (GlobalValue *GV : GVToClone) { in run()
565 NewVar->setVisibility(GlobalValue::DefaultVisibility); in run()
566 NewVar->setLinkage(GlobalValue::PrivateLinkage); in run()
578 GlobalValue *GV = ValuesToLink[I]; in run()
582 for (GlobalValue *GV2 : LazyComdatMembers[SC]) { in run()
583 GlobalValue *DGV = getLinkedToGlobal(GV2); in run()
593 for (GlobalValue *GV : ValuesToLink) in run()
603 [this](GlobalValue &GV, IRMover::ValueAdder Add) { in run()