Lines Matching defs:DI
87 Error DWARFYAML::emitDebugStr(raw_ostream &OS, const DWARFYAML::Data &DI) {
88 for (StringRef Str : *DI.DebugStrings) {
131 Error DWARFYAML::emitDebugAbbrev(raw_ostream &OS, const DWARFYAML::Data &DI) {
132 for (uint64_t I = 0; I < DI.DebugAbbrev.size(); ++I) {
133 StringRef AbbrevTableContent = DI.getAbbrevTableContentByIndex(I);
140 Error DWARFYAML::emitDebugAranges(raw_ostream &OS, const DWARFYAML::Data &DI) {
141 assert(DI.DebugAranges && "unexpected emitDebugAranges() call");
142 for (const auto &Range : *DI.DebugAranges) {
147 AddrSize = DI.Is64BitAddrSize ? 8 : 4;
167 writeInitialLength(Range.Format, Length, OS, DI.IsLittleEndian);
168 writeInteger((uint16_t)Range.Version, OS, DI.IsLittleEndian);
169 writeDWARFOffset(Range.CuOffset, Range.Format, OS, DI.IsLittleEndian);
170 writeInteger((uint8_t)AddrSize, OS, DI.IsLittleEndian);
171 writeInteger((uint8_t)Range.SegSize, OS, DI.IsLittleEndian);
176 OS, DI.IsLittleEndian))
181 DI.IsLittleEndian));
189 Error DWARFYAML::emitDebugRanges(raw_ostream &OS, const DWARFYAML::Data &DI) {
192 for (const auto &DebugRanges : *DI.DebugRanges) {
208 AddrSize = DI.Is64BitAddrSize ? 8 : 4;
211 DI.IsLittleEndian))
217 DI.IsLittleEndian));
242 Error DWARFYAML::emitDebugPubnames(raw_ostream &OS, const Data &DI) {
243 assert(DI.PubNames && "unexpected emitDebugPubnames() call");
244 return emitPubSection(OS, *DI.PubNames, DI.IsLittleEndian);
247 Error DWARFYAML::emitDebugPubtypes(raw_ostream &OS, const Data &DI) {
248 assert(DI.PubTypes && "unexpected emitDebugPubtypes() call");
249 return emitPubSection(OS, *DI.PubTypes, DI.IsLittleEndian);
252 Error DWARFYAML::emitDebugGNUPubnames(raw_ostream &OS, const Data &DI) {
253 assert(DI.GNUPubNames && "unexpected emitDebugGNUPubnames() call");
254 return emitPubSection(OS, *DI.GNUPubNames, DI.IsLittleEndian,
258 Error DWARFYAML::emitDebugGNUPubtypes(raw_ostream &OS, const Data &DI) {
259 assert(DI.GNUPubTypes && "unexpected emitDebugGNUPubtypes() call");
260 return emitPubSection(OS, *DI.GNUPubTypes, DI.IsLittleEndian,
264 static Expected<uint64_t> writeDIE(const DWARFYAML::Data &DI, uint64_t CUIndex,
276 DI.getAbbrevTableInfoByID(AbbrevTableID);
284 DI.DebugAbbrev[AbbrevTableInfoOrErr->Index].Table);
406 Error DWARFYAML::emitDebugInfo(raw_ostream &OS, const DWARFYAML::Data &DI) {
407 for (uint64_t I = 0; I < DI.Units.size(); ++I) {
408 const DWARFYAML::Unit &Unit = DI.Units[I];
413 AddrSize = DI.Is64BitAddrSize ? 8 : 4;
445 writeDIE(DI, I, AbbrevTableID, Params, Entry, EntryBufferOS,
446 DI.IsLittleEndian))
457 writeInitialLength(Unit.Format, Length, OS, DI.IsLittleEndian);
458 writeInteger((uint16_t)Unit.Version, OS, DI.IsLittleEndian);
465 DI.getAbbrevTableInfoByID(AbbrevTableID)) {
476 writeInteger((uint8_t)Unit.Type, OS, DI.IsLittleEndian);
477 writeInteger((uint8_t)AddrSize, OS, DI.IsLittleEndian);
478 writeDWARFOffset(AbbrevTableOffset, Unit.Format, OS, DI.IsLittleEndian);
486 writeInteger(Unit.TypeSignatureOrDwoID, OS, DI.IsLittleEndian);
487 writeDWARFOffset(Unit.TypeOffset, Unit.Format, OS, DI.IsLittleEndian);
491 writeInteger(Unit.TypeSignatureOrDwoID, OS, DI.IsLittleEndian);
495 writeDWARFOffset(AbbrevTableOffset, Unit.Format, OS, DI.IsLittleEndian);
496 writeInteger((uint8_t)AddrSize, OS, DI.IsLittleEndian);
600 Error DWARFYAML::emitDebugLine(raw_ostream &OS, const DWARFYAML::Data &DI) {
601 for (const DWARFYAML::LineTable &LineTable : DI.DebugLines) {
607 writeInteger(LineTable.MinInstLength, BufferOS, DI.IsLittleEndian);
610 writeInteger(LineTable.MaxOpsPerInst, BufferOS, DI.IsLittleEndian);
611 writeInteger(LineTable.DefaultIsStmt, BufferOS, DI.IsLittleEndian);
612 writeInteger(LineTable.LineBase, BufferOS, DI.IsLittleEndian);
613 writeInteger(LineTable.LineRange, BufferOS, DI.IsLittleEndian);
621 writeInteger(OpcodeBase, BufferOS, DI.IsLittleEndian);
623 writeInteger(OpcodeLength, BufferOS, DI.IsLittleEndian);
639 writeLineTableOpcode(Op, OpcodeBase, DI.Is64BitAddrSize ? 8 : 4, BufferOS,
640 DI.IsLittleEndian);
652 writeInitialLength(LineTable.Format, Length, OS, DI.IsLittleEndian);
653 writeInteger(LineTable.Version, OS, DI.IsLittleEndian);
654 writeDWARFOffset(HeaderLength, LineTable.Format, OS, DI.IsLittleEndian);
661 Error DWARFYAML::emitDebugAddr(raw_ostream &OS, const Data &DI) {
662 for (const AddrTableEntry &TableEntry : *DI.DebugAddr) {
667 AddrSize = DI.Is64BitAddrSize ? 8 : 4;
677 writeInitialLength(TableEntry.Format, Length, OS, DI.IsLittleEndian);
678 writeInteger((uint16_t)TableEntry.Version, OS, DI.IsLittleEndian);
679 writeInteger((uint8_t)AddrSize, OS, DI.IsLittleEndian);
680 writeInteger((uint8_t)TableEntry.SegSelectorSize, OS, DI.IsLittleEndian);
686 OS, DI.IsLittleEndian))
692 DI.IsLittleEndian))
702 Error DWARFYAML::emitDebugStrOffsets(raw_ostream &OS, const Data &DI) {
703 assert(DI.DebugStrOffsets && "unexpected emitDebugStrOffsets() call");
704 for (const DWARFYAML::StringOffsetsTable &Table : *DI.DebugStrOffsets) {
713 writeInitialLength(Table.Format, Length, OS, DI.IsLittleEndian);
714 writeInteger((uint16_t)Table.Version, OS, DI.IsLittleEndian);
715 writeInteger((uint16_t)Table.Padding, OS, DI.IsLittleEndian);
718 writeDWARFOffset(Offset, Table.Format, OS, DI.IsLittleEndian);
877 Error DWARFYAML::emitDebugNames(raw_ostream &OS, const Data &DI) {
878 assert(DI.DebugNames && "unexpected emitDebugNames() call");
879 const DebugNamesSection DebugNames = DI.DebugNames.value();
887 DI.IsLittleEndian, StrpToEntries, DebugNames.Abbrevs);
891 DI.IsLittleEndian, StrpToEntries, PoolInfo->PoolOffsets);
894 std::string CUOffsetsData = emitDebugNamesCUOffsets(DI.IsLittleEndian);
900 emitDebugNamesHeader(OS, DI.IsLittleEndian, StrpToEntries.size(),
1213 Error DWARFYAML::emitDebugRnglists(raw_ostream &OS, const Data &DI) {
1214 assert(DI.DebugRnglists && "unexpected emitDebugRnglists() call");
1216 OS, *DI.DebugRnglists, DI.IsLittleEndian, DI.Is64BitAddrSize);
1219 Error DWARFYAML::emitDebugLoclists(raw_ostream &OS, const Data &DI) {
1220 assert(DI.DebugLoclists && "unexpected emitDebugRnglists() call");
1222 OS, *DI.DebugLoclists, DI.IsLittleEndian, DI.Is64BitAddrSize);
1254 emitDebugSectionImpl(const DWARFYAML::Data &DI, StringRef Sec,
1261 if (Error Err = EmitFunc(DebugInfoStream, DI))
1281 DWARFYAML::Data DI;
1282 DI.IsLittleEndian = IsLittleEndian;
1283 DI.Is64BitAddrSize = Is64BitAddrSize;
1285 YIn >> DI;
1292 for (StringRef SecName : DI.getNonEmptySectionNames())
1294 emitDebugSectionImpl(DI, SecName, DebugSections));