Lines Matching defs:G

152     auto G = createPlatformGraph(MOP, "<OrcRTCompleteBootstrap>");
154 G->createSection("__orc_rt_cplt_bs", MemProt::Read);
156 G->createZeroFillBlock(PlaceholderSection, 1, ExecutorAddr(), 1, 0);
157 G->addDefinedSymbol(PlaceholderBlock, 0, *CompleteBootstrapSymbol, 1,
161 G->allocActions().reserve(DeferredAAs.size() + 3);
164 G->allocActions().push_back(
170 G->allocActions().push_back(
178 G->allocActions().push_back(
186 std::back_inserter(G->allocActions()));
188 MOP.getObjectLinkingLayer().emit(std::move(R), std::move(G));
449 jitlink::Edge::Kind MachOPlatform::getPointerEdgeKind(jitlink::LinkGraph &G) {
450 switch (G.getTargetTriple().getArch()) {
796 [this](LinkGraph &G) { return bootstrapPipelineStart(G); });
797 Config.PostAllocationPasses.push_back([this](LinkGraph &G) {
798 return bootstrapPipelineRecordRuntimeFunctions(G);
809 Config.PostAllocationPasses.push_back([this, &MR](LinkGraph &G) {
810 return associateJITDylibHeaderSymbol(G, MR);
818 Config.PrePrunePasses.push_back([this, &MR](LinkGraph &G) {
819 if (auto Err = preserveImportantSections(G, MR))
821 return processObjCImageInfo(G, MR);
824 [this](LinkGraph &G) { return createObjCRuntimeObject(G); });
826 [this, &MR](LinkGraph &G) { return populateObjCRuntimeObject(G, MR); });
833 [this, &JD = MR.getTargetJITDylib()](LinkGraph &G) {
834 return fixTLVSectionsAndEdges(G, JD);
841 Config.PostPrunePasses.push_back([this, JITSymTabInfo](LinkGraph &G) {
842 return prepareSymbolTableRegistration(G, *JITSymTabInfo);
845 InBootstrapPhase](LinkGraph &G) {
846 return addSymbolTableRegistration(G, MR, *JITSymTabInfo, InBootstrapPhase);
852 [this, &JD = MR.getTargetJITDylib(), InBootstrapPhase](LinkGraph &G) {
853 return registerObjectPlatformSections(G, JD, InBootstrapPhase);
860 [this](LinkGraph &G) { return bootstrapPipelineEnd(G); });
878 jitlink::LinkGraph &G) {
886 bootstrapPipelineRecordRuntimeFunctions(jitlink::LinkGraph &G) {
908 for (auto *Sym : G.defined_symbols()) {
939 jitlink::LinkGraph &G) {
951 jitlink::LinkGraph &G, MaterializationResponsibility &MR) {
952 auto I = llvm::find_if(G.defined_symbols(), [this](jitlink::Symbol *Sym) {
955 assert(I != G.defined_symbols().end() && "Missing MachO header start symbol");
964 G.allocActions().push_back(
974 jitlink::LinkGraph &G, MaterializationResponsibility &MR) {
980 G.findSectionByName(MachOObjCImageInfoSectionName)) {
983 "In " + G.getName() +
986 G.addAnonymousSymbol(**ObjCImageInfoSec->blocks().begin(), 0, 0, false,
991 return make_error<StringError>("In " + G.getName() + ", " +
1008 auto *InitSection = G.findSectionByName(InitSectionName);
1028 &G.addAnonymousSymbol(*B, 0, B->getSize(), false, true));
1040 jitlink::LinkGraph &G, MaterializationResponsibility &MR) {
1048 auto *ObjCImageInfo = G.findSectionByName(MachOObjCImageInfoSectionName);
1057 " section in " + G.getName(),
1064 " section in " + G.getName(),
1069 for (auto &Sec : G.sections()) {
1077 G.getName(),
1083 auto Version = support::endian::read32(ObjCImageInfoData, G.getEndianness());
1085 support::endian::read32(ObjCImageInfoData + 4, G.getEndianness());
1096 "ObjC version in " + G.getName() +
1100 if (Error E = mergeImageInfoFlags(G, MR, ObjCImageInfoItr->second, Flags))
1105 G.removeDefinedSymbol(*S);
1106 G.removeBlock(ObjCImageInfoBlock);
1110 << MR.getTargetJITDylib().getName() << " in " << G.getName()
1115 G.addDefinedSymbol(ObjCImageInfoBlock, 0, ObjCImageInfoSymbolName,
1129 jitlink::LinkGraph &G, MaterializationResponsibility &MR,
1140 return make_error<StringError>("Swift ABI version in " + G.getName() +
1150 G.getName() +
1155 G.getName() +
1183 << " with " << G.getName() << " (" << formatv("{0:x4}", NewFlags)
1193 jitlink::LinkGraph &G, JITDylib &JD) {
1196 for (auto *Sym : G.external_symbols())
1203 if (auto *ThreadDataSec = G.findSectionByName(MachOThreadVarsSectionName)) {
1220 support::endian::byte_swap(*Key, G.getEndianness());
1223 if (B->getSize() != 3 * G.getPointerSize())
1229 auto NewBlockContent = G.allocateBuffer(B->getSize());
1231 memcpy(NewBlockContent.data() + G.getPointerSize(), &PlatformKeyBits,
1232 G.getPointerSize());
1238 for (auto *B : G.blocks())
1250 jitlink::LinkGraph &G) {
1277 if (Section *EHFrameSec = G.findSectionByName(MachOEHFrameSectionName))
1281 G.findSectionByName(MachOCompactUnwindInfoSectionName))
1302 dbgs() << "MachOPlatform identified unwind info in " << G.getName() << ":\n"
1316 if (US.CodeRanges.size() >= G.sections_size())
1325 jitlink::LinkGraph &G, JITDylib &JD, bool InBootstrapPhase) {
1330 G.findSectionByName(MachOThreadDataSectionName);
1333 if (auto *ThreadBSSSection = G.findSectionByName(MachOThreadBSSSectionName)) {
1338 G.mergeSections(*ThreadDataSection, *ThreadBSSSection);
1350 if (auto *Sec = G.findSectionByName(SecName)) {
1371 auto *Sec = G.findSectionByName(SecName);
1384 if (auto UI = findUnwindSectionInfo(G))
1391 dbgs() << "MachOPlatform: Scraped " << G.getName() << " init sections:\n";
1403 ? G.allocActions()
1430 jitlink::LinkGraph &G) {
1436 if (G.findSectionByName(ObjCRuntimeSectionName))
1440 if (G.findSectionByName(ObjCRuntimeSectionName)) {
1458 auto &Sec = G.createSection(ObjCRuntimeObjectSectionName,
1460 G.createMutableContentBlock(Sec, MachOSize, ExecutorAddr(), 16, 0, true);
1466 jitlink::LinkGraph &G, MaterializationResponsibility &MR) {
1469 G.findSectionByName(ObjCRuntimeObjectSectionName);
1474 switch (G.getTargetTriple().getArch()) {
1481 G.getTargetTriple().str(),
1513 auto PointerEdge = getPointerEdgeKind(G);
1517 for (auto *Sym : G.external_symbols())
1523 for (auto *Sym : G.absolute_symbols())
1529 for (auto *Sym : G.defined_symbols())
1545 auto Content = Sym->getBlock().getMutableContent(G);
1548 support::endian::write32(&Content[4], *Flags, G.getEndianness());
1554 &G.addExternalSymbol(ObjCImageInfoSymbolName, 8, false);
1563 if (auto *GraphSec = G.findSectionByName(ObjCRuntimeSectionName)) {
1570 if (auto *GraphSec = G.findSectionByName(ObjCRuntimeSectionName)) {
1583 switch (G.getTargetTriple().getArch()) {
1607 if (G.getEndianness() != llvm::endianness::native)
1640 jitlink::LinkGraph &G, JITSymTabVector &JITSymTabInfo) {
1642 auto *CStringSec = G.findSectionByName(MachOCStringSectionName);
1644 CStringSec = &G.createSection(MachOCStringSectionName,
1662 for (auto *Sym : G.defined_symbols())
1664 for (auto *Sym : G.absolute_symbols())
1673 auto &NameBlock = G.createMutableContentBlock(
1674 *CStringSec, G.allocateCString(Sym->getName()), orc::ExecutorAddr(),
1676 auto &SymbolNameSym = G.addAnonymousSymbol(
1688 jitlink::LinkGraph &G, MaterializationResponsibility &MR,
1713 ? G.allocActions()
1727 JITDylib &JD, jitlink::LinkGraph &G,
1753 auto HeaderContent = G.allocateBuffer(B.layout());
1756 return G.createContentBlock(HeaderSection, HeaderContent, ExecutorAddr(), 8,
1769 auto G = createPlatformGraph(MOP, "<MachOHeaderMU>");
1770 addMachOHeader(R->getTargetJITDylib(), *G, R->getInitializerSymbol());
1771 MOP.getObjectLinkingLayer().emit(std::move(R), std::move(G));
1778 JITDylib &JD, jitlink::LinkGraph &G,
1780 auto &HeaderSection = G.createSection("__header", MemProt::Read);
1781 auto &HeaderBlock = createHeaderBlock(JD, G, HeaderSection);
1784 G.addDefinedSymbol(HeaderBlock, 0, *InitializerSymbol, HeaderBlock.getSize(),
1788 G.addDefinedSymbol(HeaderBlock, HS.Offset, HS.Name, HeaderBlock.getSize(),
1794 SimpleMachOHeaderMU::createHeaderBlock(JITDylib &JD, jitlink::LinkGraph &G,
1799 return ::createHeaderBlock<MachO64LE>(MOP, Opts, JD, G, HeaderSection);