Lines Matching refs:G

42   bool visitEdge(LinkGraph &G, Block *B, Edge &E) {  in visitEdge()  argument
45 dbgs() << " Fixing " << G.getEdgeKindName(E.getKind()) << " edge at " in visitEdge()
51 E.setTarget(getEntryForTarget(G, E.getTarget())); in visitEdge()
57 Symbol &createEntry(LinkGraph &G, Symbol &Target) { in createEntry() argument
60 auto &TLSInfoEntry = G.createMutableContentBlock( in createEntry()
61 getTLSInfoSection(G), G.allocateContent(getTLSInfoEntryContent()), in createEntry()
64 return G.addAnonymousSymbol(TLSInfoEntry, 0, 16, false, false); in createEntry()
68 Section &getTLSInfoSection(LinkGraph &G) { in getTLSInfoSection() argument
71 &G.createSection(ELFTLSInfoSectionName, orc::MemProt::Read); in getTLSInfoSection()
88 Error buildTables_ELF_x86_64(LinkGraph &G) { in buildTables_ELF_x86_64() argument
94 visitExistingEdges(G, GOT, PLT, TLSInfo); in buildTables_ELF_x86_64()
210 "In " + G->getName() + ": Unsupported x86-64 relocation type " + in addSingleRelocation()
241 std::unique_ptr<LinkGraph> G, in ELFJITLinker_x86_64() argument
243 : JITLinker(std::move(Ctx), std::move(G), std::move(PassConfig)) { in ELFJITLinker_x86_64()
247 [this](LinkGraph &G) { return getOrCreateGOTSymbol(G); }); in ELFJITLinker_x86_64() argument
253 Error getOrCreateGOTSymbol(LinkGraph &G) { in getOrCreateGOTSymbol() argument
258 if (auto *GOTSection = G.findSectionByName( in getOrCreateGOTSymbol()
268 if (auto Err = DefineExternalGOTSymbolIfPresent(G)) in getOrCreateGOTSymbol()
279 G.findSectionByName(x86_64::GOTTableManager::getSectionName())) { in getOrCreateGOTSymbol()
292 &G.addAbsoluteSymbol(ELFGOTSymbolName, orc::ExecutorAddr(), 0, in getOrCreateGOTSymbol()
296 &G.addDefinedSymbol(*SR.getFirstBlock(), 0, ELFGOTSymbolName, 0, in getOrCreateGOTSymbol()
304 for (auto *Sym : G.external_symbols()) { in getOrCreateGOTSymbol()
306 auto Blocks = G.blocks(); in getOrCreateGOTSymbol()
308 G.makeAbsolute(*Sym, (*Blocks.begin())->getAddress()); in getOrCreateGOTSymbol()
319 Error applyFixup(LinkGraph &G, Block &B, const Edge &E) const { in applyFixup() argument
320 return x86_64::applyFixup(G, B, E, GOTSymbol); in applyFixup()
347 identifyELFSectionStartAndEndSymbols(LinkGraph &G, Symbol &Sym) { in identifyELFSectionStartAndEndSymbols() argument
354 G.findSectionByName(SymName.drop_front(StartSymbolPrefix.size()))) in identifyELFSectionStartAndEndSymbols()
358 G.findSectionByName(SymName.drop_front(EndSymbolPrefix.size()))) in identifyELFSectionStartAndEndSymbols()
364 void link_ELF_x86_64(std::unique_ptr<LinkGraph> G, in link_ELF_x86_64() argument
368 if (Ctx->shouldAddDefaultTargetPasses(G->getTargetTriple())) { in link_ELF_x86_64()
378 if (auto MarkLive = Ctx->getMarkLivePass(G->getTargetTriple())) in link_ELF_x86_64()
395 if (auto Err = Ctx->modifyPassConfig(*G, Config)) in link_ELF_x86_64()
398 ELFJITLinker_x86_64::link(std::move(Ctx), std::move(G), std::move(Config)); in link_ELF_x86_64()