Lines Matching refs:Sym
44 ExecutorAddr getJITSymbolPtrForSymbol(Symbol &Sym, const Triple &TT) { in getJITSymbolPtrForSymbol() argument
50 if (hasTargetFlags(Sym, aarch32::ThumbSymbol)) { in getJITSymbolPtrForSymbol()
52 assert(Sym.isCallable() && "Only callable symbols can have thumb flag"); in getJITSymbolPtrForSymbol()
53 assert((Sym.getAddress().getValue() & 0x01) == 0 && "LSB is clear"); in getJITSymbolPtrForSymbol()
54 return Sym.getAddress() + 0x01; in getJITSymbolPtrForSymbol()
56 return Sym.getAddress(); in getJITSymbolPtrForSymbol()
58 return Sym.getAddress(); in getJITSymbolPtrForSymbol()
62 JITSymbolFlags getJITSymbolFlagsForSymbol(Symbol &Sym) { in getJITSymbolFlagsForSymbol() argument
65 if (Sym.getLinkage() == Linkage::Weak) in getJITSymbolFlagsForSymbol()
68 if (Sym.getScope() == Scope::Default) in getJITSymbolFlagsForSymbol()
71 if (Sym.isCallable()) in getJITSymbolFlagsForSymbol()
97 auto AddSymbol = [&](Symbol *Sym) { in scanLinkGraph() argument
99 if (Sym->getScope() == Scope::Local) in scanLinkGraph()
101 assert(Sym->hasName() && "Anonymous non-local symbol?"); in scanLinkGraph()
103 LGI.SymbolFlags[ES.intern(Sym->getName())] = in scanLinkGraph()
104 getJITSymbolFlagsForSymbol(*Sym); in scanLinkGraph()
107 for (auto *Sym : G.defined_symbols()) in scanLinkGraph() local
108 AddSymbol(Sym); in scanLinkGraph()
109 for (auto *Sym : G.absolute_symbols()) in scanLinkGraph() local
110 AddSymbol(Sym); in scanLinkGraph()
131 for (auto *Sym : G->defined_symbols()) in discard() local
132 if (Sym->getName() == *Name) { in discard()
133 assert(Sym->getLinkage() == Linkage::Weak && in discard()
135 G->makeExternal(*Sym); in discard()
240 for (auto *Sym : G.defined_symbols()) in notifyResolved() local
241 if (Sym->hasName() && Sym->getScope() != Scope::Local) { in notifyResolved()
242 auto InternedName = ES.intern(Sym->getName()); in notifyResolved()
243 auto Ptr = getJITSymbolPtrForSymbol(*Sym, G.getTargetTriple()); in notifyResolved()
244 auto Flags = getJITSymbolFlagsForSymbol(*Sym); in notifyResolved()
253 for (auto *Sym : G.absolute_symbols()) in notifyResolved() local
254 if (Sym->hasName() && Sym->getScope() != Scope::Local) { in notifyResolved()
255 auto InternedName = ES.intern(Sym->getName()); in notifyResolved()
256 auto Ptr = getJITSymbolPtrForSymbol(*Sym, G.getTargetTriple()); in notifyResolved()
257 auto Flags = getJITSymbolFlagsForSymbol(*Sym); in notifyResolved()
421 SymbolStringPtr &getInternedName(Symbol &Sym) { in getInternedName() argument
422 auto I = NameCache.find(&Sym); in getInternedName()
426 return NameCache.insert(std::make_pair(&Sym, ES.intern(Sym.getName()))) in getInternedName()
467 auto ProcessSymbol = [&](Symbol *Sym) { in claimOrExternalizeWeakAndCommonSymbols() argument
468 if (Sym->hasName() && Sym->getLinkage() == Linkage::Weak && in claimOrExternalizeWeakAndCommonSymbols()
469 Sym->getScope() != Scope::Local) { in claimOrExternalizeWeakAndCommonSymbols()
470 auto Name = ES.intern(Sym->getName()); in claimOrExternalizeWeakAndCommonSymbols()
471 if (!MR->getSymbols().count(ES.intern(Sym->getName()))) { in claimOrExternalizeWeakAndCommonSymbols()
473 getJITSymbolFlagsForSymbol(*Sym) | JITSymbolFlags::Weak; in claimOrExternalizeWeakAndCommonSymbols()
474 NameToSym.push_back(std::make_pair(std::move(Name), Sym)); in claimOrExternalizeWeakAndCommonSymbols()
479 for (auto *Sym : G.defined_symbols()) in claimOrExternalizeWeakAndCommonSymbols() local
480 ProcessSymbol(Sym); in claimOrExternalizeWeakAndCommonSymbols()
481 for (auto *Sym : G.absolute_symbols()) in claimOrExternalizeWeakAndCommonSymbols() local
482 ProcessSymbol(Sym); in claimOrExternalizeWeakAndCommonSymbols()
505 for (auto *Sym : G.defined_symbols()) in markResponsibilitySymbolsLive() local
506 if (Sym->hasName() && MR->getSymbols().count(ES.intern(Sym->getName()))) in markResponsibilitySymbolsLive()
507 Sym->setLive(true); in markResponsibilitySymbolsLive()
520 for (auto *Sym : G.defined_symbols()) { in registerDependencies() local
523 if (Sym->getScope() == Scope::Local) in registerDependencies()
525 assert(Sym->hasName() && in registerDependencies()
528 auto &BDeps = BlockDeps[Sym->getBlock()]; in registerDependencies()
534 SymbolDependenceGroup &SDG = DepGroupForBlock[&Sym->getBlock()]; in registerDependencies()
535 SDG.Symbols.insert(ES.intern(Sym->getName())); in registerDependencies()
537 if (!BlockDepsProcessed.count(&Sym->getBlock())) { in registerDependencies()
538 BlockDepsProcessed.insert(&Sym->getBlock()); in registerDependencies()
560 for (auto *Sym : DepSyms) { in registerDependencies() local
561 if (Sym->getScope() == Scope::Local) { in registerDependencies()
562 auto &BDeps = BlockDeps[Sym->getBlock()]; in registerDependencies()
572 auto SymName = ES.intern(Sym->getName()); in registerDependencies()
573 if (Sym->isExternal()) { in registerDependencies()