Lines Matching refs:Asm
53 void AccelTableBase::finalize(AsmPrinter *Asm, StringRef Prefix) { in finalize() argument
77 E.second.Sym = Asm->createTempSymbol(Prefix); in finalize()
93 AsmPrinter *const Asm; ///< Destination. member in __anon796e91580311::AccelTableWriter
108 AccelTableWriter(AsmPrinter *Asm, const AccelTableBase &Contents, in AccelTableWriter() argument
110 : Asm(Asm), Contents(Contents), SkipIdenticalHashes(SkipIdenticalHashes) { in AccelTableWriter()
133 void emit(AsmPrinter *Asm) const;
152 void emit(AsmPrinter *Asm) const;
167 AppleAccelTableWriter(AsmPrinter *Asm, const AccelTableBase &Contents, in AppleAccelTableWriter() argument
169 : AccelTableWriter(Asm, Contents, true), in AppleAccelTableWriter()
219 MCSymbol *AbbrevStart = Asm->createTempSymbol("names_abbrev_start");
220 MCSymbol *AbbrevEnd = Asm->createTempSymbol("names_abbrev_end");
221 MCSymbol *EntryPool = Asm->createTempSymbol("names_entries");
237 AsmPrinter *Asm, const AccelTableBase &Contents,
253 Asm->OutStreamer->AddComment("Hash in Bucket " + Twine(BucketIdx)); in emitHashes()
254 Asm->emitInt32(HashValue); in emitHashes()
270 Asm->OutStreamer->AddComment("Offset in Bucket " + Twine(i)); in emitOffsets()
271 Asm->emitLabelDifference(Hash->Sym, Base, Asm->getDwarfOffsetByteSize()); in emitOffsets()
276 void AppleAccelTableWriter::Header::emit(AsmPrinter *Asm) const { in emit()
277 Asm->OutStreamer->AddComment("Header Magic"); in emit()
278 Asm->emitInt32(Magic); in emit()
279 Asm->OutStreamer->AddComment("Header Version"); in emit()
280 Asm->emitInt16(Version); in emit()
281 Asm->OutStreamer->AddComment("Header Hash Function"); in emit()
282 Asm->emitInt16(HashFunction); in emit()
283 Asm->OutStreamer->AddComment("Header Bucket Count"); in emit()
284 Asm->emitInt32(BucketCount); in emit()
285 Asm->OutStreamer->AddComment("Header Hash Count"); in emit()
286 Asm->emitInt32(HashCount); in emit()
287 Asm->OutStreamer->AddComment("Header Data Length"); in emit()
288 Asm->emitInt32(HeaderDataLength); in emit()
291 void AppleAccelTableWriter::HeaderData::emit(AsmPrinter *Asm) const { in emit()
292 Asm->OutStreamer->AddComment("HeaderData Die Offset Base"); in emit()
293 Asm->emitInt32(DieOffsetBase); in emit()
294 Asm->OutStreamer->AddComment("HeaderData Atom Count"); in emit()
295 Asm->emitInt32(Atoms.size()); in emit()
298 Asm->OutStreamer->AddComment(dwarf::AtomTypeString(A.Type)); in emit()
299 Asm->emitInt16(A.Type); in emit()
300 Asm->OutStreamer->AddComment(dwarf::FormEncodingString(A.Form)); in emit()
301 Asm->emitInt16(A.Form); in emit()
309 Asm->OutStreamer->AddComment("Bucket " + Twine(i)); in emitBuckets()
311 Asm->emitInt32(index); in emitBuckets()
313 Asm->emitInt32(std::numeric_limits<uint32_t>::max()); in emitBuckets()
335 Asm->emitInt32(0); in emitData()
337 Asm->OutStreamer->emitLabel(Hash->Sym); in emitData()
338 Asm->OutStreamer->AddComment(Hash->Name.getString()); in emitData()
339 Asm->emitDwarfStringOffset(Hash->Name); in emitData()
340 Asm->OutStreamer->AddComment("Num DIEs"); in emitData()
341 Asm->emitInt32(Hash->Values.size()); in emitData()
343 static_cast<const AppleAccelTableData *>(V)->emit(Asm); in emitData()
348 Asm->emitInt32(0); in emitData()
353 Header.emit(Asm); in emit()
354 HeaderData.emit(Asm); in emit()
365 AsmPrinter *Asm = Ctx.Asm; in emit() local
367 Asm->emitDwarfUnitLength("names", "Header: unit length"); in emit()
368 Asm->OutStreamer->AddComment("Header: version"); in emit()
369 Asm->emitInt16(Version); in emit()
370 Asm->OutStreamer->AddComment("Header: padding"); in emit()
371 Asm->emitInt16(Padding); in emit()
372 Asm->OutStreamer->AddComment("Header: compilation unit count"); in emit()
373 Asm->emitInt32(CompUnitCount); in emit()
374 Asm->OutStreamer->AddComment("Header: local type unit count"); in emit()
375 Asm->emitInt32(LocalTypeUnitCount); in emit()
376 Asm->OutStreamer->AddComment("Header: foreign type unit count"); in emit()
377 Asm->emitInt32(ForeignTypeUnitCount); in emit()
378 Asm->OutStreamer->AddComment("Header: bucket count"); in emit()
379 Asm->emitInt32(BucketCount); in emit()
380 Asm->OutStreamer->AddComment("Header: name count"); in emit()
381 Asm->emitInt32(NameCount); in emit()
382 Asm->OutStreamer->AddComment("Header: abbreviation table size"); in emit()
383 Asm->emitLabelDifference(Ctx.AbbrevEnd, Ctx.AbbrevStart, sizeof(uint32_t)); in emit()
384 Asm->OutStreamer->AddComment("Header: augmentation string size"); in emit()
386 Asm->emitInt32(AugmentationStringSize); in emit()
387 Asm->OutStreamer->AddComment("Header: augmentation string"); in emit()
388 Asm->OutStreamer->emitBytes({AugmentationString, AugmentationStringSize}); in emit()
421 Asm->OutStreamer->AddComment("Compilation unit " + Twine(CU.index())); in emitCUList()
422 Asm->emitDwarfSymbolReference(CU.value()); in emitCUList()
430 Asm->OutStreamer->AddComment("Bucket " + Twine(Bucket.index())); in emitBuckets()
431 Asm->emitInt32(Bucket.value().empty() ? 0 : Index); in emitBuckets()
441 Asm->OutStreamer->AddComment("String in Bucket " + Twine(Bucket.index()) + in emitStringOffsets()
443 Asm->emitDwarfStringOffset(String); in emitStringOffsets()
450 Asm->OutStreamer->emitLabel(AbbrevStart); in emitAbbrevs()
452 Asm->OutStreamer->AddComment("Abbrev code"); in emitAbbrevs()
454 Asm->emitULEB128(Abbrev.first); in emitAbbrevs()
455 Asm->OutStreamer->AddComment(dwarf::TagString(Abbrev.first)); in emitAbbrevs()
456 Asm->emitULEB128(Abbrev.first); in emitAbbrevs()
458 Asm->emitULEB128(AttrEnc.Index, dwarf::IndexString(AttrEnc.Index).data()); in emitAbbrevs()
459 Asm->emitULEB128(AttrEnc.Form, in emitAbbrevs()
462 Asm->emitULEB128(0, "End of abbrev"); in emitAbbrevs()
463 Asm->emitULEB128(0, "End of abbrev"); in emitAbbrevs()
465 Asm->emitULEB128(0, "End of abbrev list"); in emitAbbrevs()
466 Asm->OutStreamer->emitLabel(AbbrevEnd); in emitAbbrevs()
475 Asm->emitULEB128(AbbrevIt->first, "Abbreviation code"); in emitEntry()
477 Asm->OutStreamer->AddComment(dwarf::IndexString(AttrEnc.Index)); in emitEntry()
481 ID.emitValue(Asm, AttrEnc.Form); in emitEntry()
486 Asm->emitInt32(Entry.getDieOffset()); in emitEntry()
495 Asm->OutStreamer->emitLabel(EntryPool); in emitData()
499 Asm->OutStreamer->emitLabel(Hash->Sym); in emitData()
502 Asm->OutStreamer->AddComment("End of list: " + Hash->Name.getString()); in emitData()
503 Asm->emitInt8(0); in emitData()
510 AsmPrinter *Asm, const AccelTableBase &Contents, in Dwarf5AccelTableWriter() argument
513 : AccelTableWriter(Asm, Contents, false), in Dwarf5AccelTableWriter()
534 Asm->OutStreamer->emitValueToAlignment(4, 0); in emit()
535 Asm->OutStreamer->emitLabel(ContributionEnd); in emit()
538 void llvm::emitAppleAccelTableImpl(AsmPrinter *Asm, AccelTableBase &Contents, in emitAppleAccelTableImpl() argument
541 Contents.finalize(Asm, Prefix); in emitAppleAccelTableImpl()
542 AppleAccelTableWriter(Asm, Contents, Atoms, SecBegin).emit(); in emitAppleAccelTableImpl()
546 AsmPrinter *Asm, AccelTable<DWARF5AccelTableData> &Contents, in emitDWARF5AccelTable() argument
565 Asm->OutStreamer->switchSection( in emitDWARF5AccelTable()
566 Asm->getObjFileLowering().getDwarfDebugNamesSection()); in emitDWARF5AccelTable()
568 Contents.finalize(Asm, "names"); in emitDWARF5AccelTable()
570 Asm, Contents, CompUnits, in emitDWARF5AccelTable()
579 AsmPrinter *Asm, AccelTable<DWARF5AccelTableStaticData> &Contents, in emitDWARF5AccelTable() argument
583 Contents.finalize(Asm, "names"); in emitDWARF5AccelTable()
584 Dwarf5AccelTableWriter<DWARF5AccelTableStaticData>(Asm, Contents, CUs, in emitDWARF5AccelTable()
589 void AppleAccelTableOffsetData::emit(AsmPrinter *Asm) const { in emit()
592 Asm->emitInt32(Die.getDebugSectionOffset()); in emit()
595 void AppleAccelTableTypeData::emit(AsmPrinter *Asm) const { in emit()
598 Asm->emitInt32(Die.getDebugSectionOffset()); in emit()
599 Asm->emitInt16(Die.getTag()); in emit()
600 Asm->emitInt8(0); in emit()
603 void AppleAccelTableStaticOffsetData::emit(AsmPrinter *Asm) const { in emit()
604 Asm->emitInt32(Offset); in emit()
607 void AppleAccelTableStaticTypeData::emit(AsmPrinter *Asm) const { in emit()
608 Asm->emitInt32(Offset); in emit()
609 Asm->emitInt16(Tag); in emit()
610 Asm->emitInt8(ObjCClassIsImplementation ? dwarf::DW_FLAG_type_implementation in emit()
612 Asm->emitInt32(QualifiedNameHash); in emit()