Lines Matching defs:GV
52 GlobalValue *GV = cast<GlobalValue>(Operand);
53 UsedValues.insert(GV);
69 static bool hasMetadataOtherThanDebugLoc(const GlobalVariable *GV) {
71 GV->getAllMetadata(MDs);
86 static Align getAlign(GlobalVariable *GV) {
87 return GV->getAlign().value_or(
88 GV->getDataLayout().getPreferredAlign(GV));
92 isUnmergeableGlobal(GlobalVariable *GV,
95 return !GV->isConstant() || !GV->hasDefinitiveInitializer() ||
96 GV->getType()->getAddressSpace() != 0 || GV->hasSection() ||
98 GV->isThreadLocal() ||
100 UsedGlobals.count(GV);
155 for (GlobalVariable &GV : llvm::make_early_inc_range(M.globals())) {
156 // If this GV is dead, remove it.
157 GV.removeDeadConstantUsers();
158 if (GV.use_empty() && GV.hasLocalLinkage()) {
159 GV.eraseFromParent();
164 if (isUnmergeableGlobal(&GV, UsedGlobals))
171 if (GV.isWeakForLinker())
175 if (hasMetadataOtherThanDebugLoc(&GV))
178 Constant *Init = GV.getInitializer();
187 if (FirstConstantFound || IsBetterCanonical(GV, *Slot)) {
188 Slot = &GV;
189 LLVM_DEBUG(dbgs() << "Cmap[" << *Init << "] = " << GV.getName()
198 for (GlobalVariable &GV : llvm::make_early_inc_range(M.globals())) {
199 if (isUnmergeableGlobal(&GV, UsedGlobals))
203 if (!GV.hasLocalLinkage())
206 Constant *Init = GV.getInitializer();
214 if (Slot == &GV)
217 if (makeMergeable(&GV, Slot) == CanMerge::No)
221 LLVM_DEBUG(dbgs() << "Will replace: @" << GV.getName() << " -> @"
223 SameContentReplacements.push_back(std::make_pair(&GV, Slot));