Lines Matching refs:GV
51 GlobalValue *GV = cast<GlobalValue>(Operand); in FindUsedValues() local
52 UsedValues.insert(GV); in FindUsedValues()
68 static bool hasMetadataOtherThanDebugLoc(const GlobalVariable *GV) { in hasMetadataOtherThanDebugLoc() argument
70 GV->getAllMetadata(MDs); in hasMetadataOtherThanDebugLoc()
85 static Align getAlign(GlobalVariable *GV) { in getAlign() argument
86 return GV->getAlign().value_or( in getAlign()
87 GV->getParent()->getDataLayout().getPreferredAlign(GV)); in getAlign()
91 isUnmergeableGlobal(GlobalVariable *GV, in isUnmergeableGlobal() argument
94 return !GV->isConstant() || !GV->hasDefinitiveInitializer() || in isUnmergeableGlobal()
95 GV->getType()->getAddressSpace() != 0 || GV->hasSection() || in isUnmergeableGlobal()
97 GV->isThreadLocal() || in isUnmergeableGlobal()
99 UsedGlobals.count(GV); in isUnmergeableGlobal()
154 for (GlobalVariable &GV : llvm::make_early_inc_range(M.globals())) { in mergeConstants()
156 GV.removeDeadConstantUsers(); in mergeConstants()
157 if (GV.use_empty() && GV.hasLocalLinkage()) { in mergeConstants()
158 GV.eraseFromParent(); in mergeConstants()
163 if (isUnmergeableGlobal(&GV, UsedGlobals)) in mergeConstants()
170 if (GV.isWeakForLinker()) in mergeConstants()
174 if (hasMetadataOtherThanDebugLoc(&GV)) in mergeConstants()
177 Constant *Init = GV.getInitializer(); in mergeConstants()
186 if (FirstConstantFound || IsBetterCanonical(GV, *Slot)) { in mergeConstants()
187 Slot = &GV; in mergeConstants()
188 LLVM_DEBUG(dbgs() << "Cmap[" << *Init << "] = " << GV.getName() in mergeConstants()
197 for (GlobalVariable &GV : llvm::make_early_inc_range(M.globals())) { in mergeConstants()
198 if (isUnmergeableGlobal(&GV, UsedGlobals)) in mergeConstants()
202 if (!GV.hasLocalLinkage()) in mergeConstants()
205 Constant *Init = GV.getInitializer(); in mergeConstants()
213 if (Slot == &GV) in mergeConstants()
216 if (makeMergeable(&GV, Slot) == CanMerge::No) in mergeConstants()
220 LLVM_DEBUG(dbgs() << "Will replace: @" << GV.getName() << " -> @" in mergeConstants()
222 SameContentReplacements.push_back(std::make_pair(&GV, Slot)); in mergeConstants()