Lines Matching refs:Sym
214 for (auto *Sym : G->external_symbols()) {
215 assert(!Sym->getAddress() &&
217 assert(Sym->getName() != StringRef() && Sym->getName() != "" &&
220 Sym->isWeaklyReferenced() ? SymbolLookupFlags::WeaklyReferencedSymbol
222 UnresolvedExternals[Sym->getName()] = LookupFlags;
228 for (auto *Sym : G->external_symbols()) {
229 assert(Sym->getOffset() == 0 &&
231 assert(!Sym->getAddress() && "Symbol already resolved");
232 assert(!Sym->isDefined() && "Symbol being resolved is already defined");
233 auto ResultI = Result.find(Sym->getName());
235 Sym->getAddressable().setAddress(ResultI->second.getAddress());
236 Sym->setLinkage(ResultI->second.getFlags().isWeak() ? Linkage::Weak
238 Sym->setScope(ResultI->second.getFlags().isExported() ? Scope::Default
241 assert(Sym->isWeaklyReferenced() &&
247 for (auto *Sym : G->external_symbols()) {
248 dbgs() << " " << Sym->getName() << ": "
249 << formatv("{0:x16}", Sym->getAddress().getValue());
250 switch (Sym->getLinkage()) {
257 switch (Sym->getScope()) {
285 for (auto *Sym : G.defined_symbols())
286 if (Sym->isLive())
287 Worklist.push_back(Sym);
291 auto *Sym = Worklist.back();
294 auto &B = Sym->getBlock();
302 for (auto &E : Sym->getBlock().edges()) {
317 for (auto *Sym : G.defined_symbols())
318 if (!Sym->isLive())
319 SymbolsToRemove.push_back(Sym);
320 for (auto *Sym : SymbolsToRemove) {
321 LLVM_DEBUG(dbgs() << " " << *Sym << "...\n");
322 G.removeDefinedSymbol(*Sym);
343 for (auto *Sym : G.external_symbols())
344 if (!Sym->isLive())
345 SymbolsToRemove.push_back(Sym);
346 for (auto *Sym : SymbolsToRemove) {
347 LLVM_DEBUG(dbgs() << " " << *Sym << "...\n");
348 G.removeExternalSymbol(*Sym);