LLVM: lib/MC/MCDwarf.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static uint64_t ScaleAddrDelta (MCContext &Context, uint64_t AddrDelta)
static const MCExpr * makeEndMinusStartExpr (MCContext &Ctx, const MCSymbol &Start, const MCSymbol &End, int IntVal)
static const MCExpr * makeStartPlusIntExpr (MCContext &Ctx, const MCSymbol &Start, int IntVal)
static const MCExpr * forceExpAbs (MCStreamer &OS, const MCExpr *Expr)
static void emitAbsValue (MCStreamer &OS, const MCExpr *Value, unsigned Size)
static void emitOneV5FileEntry (MCStreamer *MCOS, const MCDwarfFile &DwarfFile, bool EmitMD5, bool HasAnySource, std::optional< MCDwarfLineStr > &LineStr)
static bool isRootFile (const MCDwarfFile &RootFile, StringRef &Directory, StringRef &FileName, std::optional< MD5::MD5Result > Checksum)
static uint64_t SpecialAddr (MCDwarfLineTableParams Params, uint64_t op)
Given a special op, return the address skip amount (in units of DWARF2_LINE_MIN_INSN_LENGTH).
static void EmitAbbrev (MCStreamer *MCOS, uint64_t Name, uint64_t Form)
static void EmitGenDwarfAbbrev (MCStreamer *MCOS)
static void EmitGenDwarfAranges (MCStreamer *MCOS, const MCSymbol *InfoSectionSymbol)
static void EmitGenDwarfInfo (MCStreamer *MCOS, const MCSymbol *AbbrevSectionSymbol, const MCSymbol *LineSectionSymbol, const MCSymbol *RangesSymbol)
static MCSymbol * emitGenDwarfRanges (MCStreamer *MCOS)
static int getDataAlignmentFactor (MCStreamer &streamer)
static unsigned getSizeForEncoding (MCStreamer &streamer, unsigned symbolEncoding)
static void emitFDESymbol (MCObjectStreamer &streamer, const MCSymbol &symbol, unsigned symbolEncoding, bool isEH)
static void EmitPersonality (MCStreamer &streamer, const MCSymbol &symbol, unsigned symbolEncoding)
static void emitEncodingByte (MCObjectStreamer &Streamer, unsigned Encoding)
static unsigned getCIEVersion (bool IsEH, unsigned DwarfVersion)

EmitAbbrev()

emitAbsValue()

emitEncodingByte()

emitFDESymbol()

EmitGenDwarfAbbrev()

void EmitGenDwarfAbbrev ( MCStreamer * MCOS) static

Definition at line 836 of file MCDwarf.cpp.

References llvm::dwarf::DW_CHILDREN_no, llvm::dwarf::DW_CHILDREN_yes, llvm::dwarf::DWARF64, EmitAbbrev(), llvm::MCStreamer::emitInt8(), llvm::MCStreamer::emitULEB128IntValue(), llvm::StringRef::empty(), llvm::MCContext::getCompilationDir(), llvm::MCStreamer::getContext(), llvm::MCObjectFileInfo::getDwarfAbbrevSection(), llvm::MCContext::getDwarfDebugFlags(), llvm::MCContext::getDwarfFormat(), llvm::MCContext::getDwarfVersion(), llvm::MCContext::getGenDwarfSectionSyms(), llvm::MCContext::getObjectFileInfo(), and llvm::MCStreamer::switchSection().

Referenced by llvm::MCGenDwarfInfo::Emit().

EmitGenDwarfAranges()

Definition at line 885 of file MCDwarf.cpp.

References assert(), llvm::MCSymbolRefExpr::create(), llvm::dwarf::DW_LENGTH_DWARF64, llvm::dwarf::DWARF64, emitAbsValue(), llvm::MCStreamer::emitInt16(), llvm::MCStreamer::emitInt32(), llvm::MCStreamer::emitInt8(), llvm::MCStreamer::emitIntValue(), llvm::MCStreamer::emitSymbolValue(), llvm::MCStreamer::emitValue(), llvm::MCContext::getAsmInfo(), llvm::MCAsmInfo::getCodePointerSize(), llvm::MCStreamer::getContext(), llvm::MCObjectFileInfo::getDwarfARangesSection(), llvm::MCContext::getDwarfFormat(), llvm::dwarf::getDwarfOffsetByteSize(), llvm::MCContext::getGenDwarfSectionSyms(), llvm::MCContext::getObjectFileInfo(), llvm::dwarf::getUnitLengthFieldByteSize(), llvm::Length, makeEndMinusStartExpr(), llvm::MCAsmInfo::needsDwarfSectionOffsetDirective(), Size, and llvm::MCStreamer::switchSection().

Referenced by llvm::MCGenDwarfInfo::Emit().

EmitGenDwarfInfo()

Definition at line 963 of file MCDwarf.cpp.

References assert(), llvm::MCSymbolRefExpr::create(), llvm::MCContext::createTempSymbol(), llvm::dwarf::DW_LENGTH_DWARF64, llvm::dwarf::DWARF64, emitAbsValue(), llvm::MCStreamer::emitBytes(), llvm::MCStreamer::emitInt16(), llvm::MCStreamer::emitInt32(), llvm::MCStreamer::emitInt8(), llvm::MCStreamer::emitIntValue(), llvm::MCStreamer::emitLabel(), llvm::MCStreamer::emitSymbolValue(), llvm::MCStreamer::emitULEB128IntValue(), llvm::MCStreamer::emitValue(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::StringRef::empty(), llvm::sys::path::get_separator(), llvm::MCContext::getAsmInfo(), llvm::MCAsmInfo::getCodePointerSize(), llvm::MCContext::getCompilationDir(), llvm::MCStreamer::getContext(), llvm::MCContext::getDwarfDebugFlags(), llvm::MCContext::getDwarfDebugProducer(), llvm::MCContext::getDwarfFormat(), llvm::MCObjectFileInfo::getDwarfInfoSection(), llvm::dwarf::getDwarfOffsetByteSize(), llvm::MCContext::getDwarfVersion(), llvm::MCContext::getGenDwarfSectionSyms(), llvm::MCContext::getMCDwarfDirs(), llvm::MCContext::getMCDwarfFiles(), llvm::MCContext::getMCDwarfLineTable(), llvm::MCContext::getMCGenDwarfLabelEntries(), llvm::MCContext::getObjectFileInfo(), llvm::MCDwarfLineTable::getRootFile(), llvm::dwarf::getUnitLengthFieldByteSize(), llvm::Length, makeEndMinusStartExpr(), llvm::MCDwarfFile::Name, llvm::MCAsmInfo::needsDwarfSectionOffsetDirective(), llvm::SmallVectorTemplateCommon< T, typename >::size(), and llvm::MCStreamer::switchSection().

Referenced by llvm::MCGenDwarfInfo::Emit().

emitGenDwarfRanges()

Definition at line 1134 of file MCDwarf.cpp.

References llvm::MCStreamer::AddComment(), llvm::MCSymbolRefExpr::create(), llvm::MCContext::createTempSymbol(), emitAbsValue(), llvm::MCStreamer::emitFill(), llvm::MCStreamer::emitInt32(), llvm::MCStreamer::emitInt8(), llvm::MCStreamer::emitIntValue(), llvm::MCStreamer::emitLabel(), llvm::mcdwarf::emitListsTableHeaderStart(), llvm::MCStreamer::emitULEB128Value(), llvm::MCStreamer::emitValue(), llvm::MCContext::getAsmInfo(), llvm::MCAsmInfo::getCodePointerSize(), llvm::MCStreamer::getContext(), llvm::MCObjectFileInfo::getDwarfRangesSection(), llvm::MCObjectFileInfo::getDwarfRnglistsSection(), llvm::MCContext::getDwarfVersion(), llvm::MCContext::getGenDwarfSectionSyms(), llvm::MCContext::getObjectFileInfo(), makeEndMinusStartExpr(), and llvm::MCStreamer::switchSection().

Referenced by llvm::MCGenDwarfInfo::Emit().

emitOneV5FileEntry()

EmitPersonality()

forceExpAbs()

getCIEVersion()

getDataAlignmentFactor()

int getDataAlignmentFactor ( MCStreamer & streamer) static

getSizeForEncoding()

Definition at line 1305 of file MCDwarf.cpp.

References llvm::dwarf::DW_EH_PE_absptr, llvm::dwarf::DW_EH_PE_sdata2, llvm::dwarf::DW_EH_PE_sdata4, llvm::dwarf::DW_EH_PE_sdata8, llvm::dwarf::DW_EH_PE_signed, llvm::dwarf::DW_EH_PE_udata2, llvm::dwarf::DW_EH_PE_udata4, llvm::dwarf::DW_EH_PE_udata8, llvm::format(), llvm::MCContext::getAsmInfo(), llvm::MCAsmInfo::getCodePointerSize(), llvm::MCStreamer::getContext(), and llvm_unreachable.

Referenced by emitFDESymbol(), and EmitPersonality().

isRootFile()

makeEndMinusStartExpr()

makeStartPlusIntExpr()

ScaleAddrDelta()

SpecialAddr()