|
LLVM
3.7.0
|
#include "llvm/MC/MCDwarf.h"#include "llvm/ADT/Hashing.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallString.h"#include "llvm/ADT/Twine.h"#include "llvm/Config/config.h"#include "llvm/MC/MCAsmInfo.h"#include "llvm/MC/MCContext.h"#include "llvm/MC/MCExpr.h"#include "llvm/MC/MCObjectFileInfo.h"#include "llvm/MC/MCObjectStreamer.h"#include "llvm/MC/MCRegisterInfo.h"#include "llvm/MC/MCSection.h"#include "llvm/MC/MCSymbol.h"#include "llvm/Support/Debug.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/LEB128.h"#include "llvm/Support/Path.h"#include "llvm/Support/SourceMgr.h"#include "llvm/Support/raw_ostream.h"Go to the source code of this file.
Classes | |
| struct | llvm::DenseMapInfo< CIEKey > |
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
Macros | |
| #define | SPECIAL_ADDR(op) (((op) - DWARF2_LINE_OPCODE_BASE)/DWARF2_LINE_RANGE) |
| #define | MAX_SPECIAL_ADDR_DELTA SPECIAL_ADDR(255) |
| #define | DWARF2_LINE_OPCODE_BASE 13 |
| #define | DWARF2_LINE_BASE -5 |
| #define | DWARF2_LINE_RANGE 14 |
| #define DWARF2_LINE_BASE -5 |
Definition at line 46 of file MCDwarf.cpp.
Referenced by llvm::MCDwarfLineTableHeader::Emit(), and llvm::MCDwarfLineAddr::Encode().
| #define DWARF2_LINE_OPCODE_BASE 13 |
Definition at line 42 of file MCDwarf.cpp.
Referenced by llvm::MCDwarfLineTableHeader::Emit(), and llvm::MCDwarfLineAddr::Encode().
| #define DWARF2_LINE_RANGE 14 |
Definition at line 49 of file MCDwarf.cpp.
Referenced by llvm::MCDwarfLineTableHeader::Emit(), and llvm::MCDwarfLineAddr::Encode().
| #define MAX_SPECIAL_ADDR_DELTA SPECIAL_ADDR(255) |
Definition at line 37 of file MCDwarf.cpp.
Referenced by llvm::MCDwarfLineAddr::Encode().
| #define SPECIAL_ADDR | ( | op | ) | (((op) - DWARF2_LINE_OPCODE_BASE)/DWARF2_LINE_RANGE) |
Definition at line 34 of file MCDwarf.cpp.
|
static |
Definition at line 505 of file MCDwarf.cpp.
References llvm::MCStreamer::EmitULEB128IntValue().
Referenced by EmitGenDwarfAbbrev().
|
static |
Definition at line 253 of file MCDwarf.cpp.
References SISrcMods::ABS, llvm::MCStreamer::EmitValue(), and forceExpAbs().
Referenced by llvm::MCDwarfLineTableHeader::Emit(), emitFDESymbol(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), and EmitGenDwarfRanges().
|
inlinestatic |
Definition at line 118 of file MCDwarf.cpp.
References llvm::dwarf::DW_LNE_set_discriminator, llvm::dwarf::DW_LNS_extended_op, llvm::dwarf::DW_LNS_negate_stmt, llvm::dwarf::DW_LNS_set_basic_block, llvm::dwarf::DW_LNS_set_column, llvm::dwarf::DW_LNS_set_epilogue_begin, llvm::dwarf::DW_LNS_set_file, llvm::dwarf::DW_LNS_set_isa, llvm::dwarf::DW_LNS_set_prologue_end, DWARF2_FLAG_BASIC_BLOCK, DWARF2_FLAG_EPILOGUE_BEGIN, DWARF2_FLAG_IS_STMT, DWARF2_FLAG_PROLOGUE_END, DWARF2_LINE_DEFAULT_IS_STMT, llvm::MCObjectStreamer::EmitDwarfAdvanceLineAddr(), llvm::MCStreamer::EmitIntValue(), llvm::MCStreamer::EmitULEB128IntValue(), llvm::MCStreamer::endSection(), llvm::MCContext::getAsmInfo(), llvm::MCStreamer::getContext(), llvm::MCObjectFileInfo::getDwarfLineSection(), llvm::MCContext::getObjectFileInfo(), llvm::MCAsmInfo::getPointerSize(), llvm::getULEB128Size(), llvm::Label, and llvm::MCStreamer::SwitchSection().
Referenced by llvm::MCDwarfLineTable::EmitCU().
|
static |
Definition at line 1036 of file MCDwarf.cpp.
References llvm::MCStreamer::EmitIntValue().
|
static |
Definition at line 975 of file MCDwarf.cpp.
References llvm::MCAsmInfo::doDwarfFDESymbolsUseAbsDiff(), emitAbsValue(), llvm::MCStreamer::EmitValue(), llvm::MCContext::getAsmInfo(), llvm::MCStreamer::getContext(), llvm::MCAsmInfo::getExprForFDESymbol(), getSizeForEncoding(), and size.
|
static |
Definition at line 512 of file MCDwarf.cpp.
References llvm::dwarf::DW_AT_APPLE_flags, llvm::dwarf::DW_AT_comp_dir, llvm::dwarf::DW_AT_decl_file, llvm::dwarf::DW_AT_decl_line, llvm::dwarf::DW_AT_high_pc, llvm::dwarf::DW_AT_language, llvm::dwarf::DW_AT_low_pc, llvm::dwarf::DW_AT_name, llvm::dwarf::DW_AT_producer, llvm::dwarf::DW_AT_prototyped, llvm::dwarf::DW_AT_ranges, llvm::dwarf::DW_AT_stmt_list, llvm::dwarf::DW_CHILDREN_no, llvm::dwarf::DW_CHILDREN_yes, llvm::dwarf::DW_FORM_addr, llvm::dwarf::DW_FORM_data2, llvm::dwarf::DW_FORM_data4, llvm::dwarf::DW_FORM_flag, llvm::dwarf::DW_FORM_string, EmitAbbrev(), llvm::MCStreamer::EmitIntValue(), llvm::MCStreamer::EmitULEB128IntValue(), llvm::StringRef::empty(), llvm::MCContext::getCompilationDir(), llvm::MCStreamer::getContext(), llvm::MCObjectFileInfo::getDwarfAbbrevSection(), llvm::MCContext::getDwarfDebugFlags(), llvm::MCContext::getDwarfVersion(), llvm::MCContext::getGenDwarfSectionSyms(), llvm::MCContext::getObjectFileInfo(), and llvm::MCStreamer::SwitchSection().
Referenced by llvm::MCGenDwarfInfo::Emit().
|
static |
Definition at line 563 of file MCDwarf.cpp.
References llvm::MCSymbolRefExpr::create(), emitAbsValue(), llvm::MCStreamer::EmitIntValue(), llvm::MCStreamer::EmitSymbolValue(), llvm::MCStreamer::EmitValue(), llvm::MCContext::getAsmInfo(), llvm::MCStreamer::getContext(), llvm::MCObjectFileInfo::getDwarfARangesSection(), llvm::MCContext::getGenDwarfSectionSyms(), llvm::MCContext::getObjectFileInfo(), llvm::MCAsmInfo::getPointerSize(), MakeStartMinusEndExpr(), llvm::MCAsmInfo::needsDwarfSectionOffsetDirective(), llvm::MCStreamer::SwitchSection(), and llvm::MCSymbolRefExpr::VK_None.
Referenced by llvm::MCGenDwarfInfo::Emit().
|
static |
Definition at line 635 of file MCDwarf.cpp.
References llvm::MCSymbolRefExpr::create(), llvm::MCContext::createTempSymbol(), emitAbsValue(), llvm::MCStreamer::EmitBytes(), llvm::MCStreamer::EmitIntValue(), llvm::MCStreamer::EmitLabel(), llvm::MCStreamer::EmitSymbolValue(), llvm::MCStreamer::EmitULEB128IntValue(), llvm::MCStreamer::EmitValue(), llvm::StringRef::empty(), llvm::sys::path::get_separator(), llvm::MCContext::getAsmInfo(), llvm::MCContext::getCompilationDir(), llvm::MCStreamer::getContext(), llvm::MCContext::getDwarfDebugFlags(), llvm::MCContext::getDwarfDebugProducer(), llvm::MCObjectFileInfo::getDwarfInfoSection(), llvm::MCContext::getDwarfVersion(), llvm::MCContext::getGenDwarfSectionSyms(), llvm::MCContext::getMCDwarfDirs(), llvm::MCContext::getMCDwarfFiles(), llvm::MCContext::getMCGenDwarfLabelEntries(), llvm::MCContext::getObjectFileInfo(), llvm::MCAsmInfo::getPointerSize(), MakeStartMinusEndExpr(), llvm::MCAsmInfo::needsDwarfSectionOffsetDirective(), llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::MCStreamer::SwitchSection(), and llvm::MCSymbolRefExpr::VK_None.
Referenced by llvm::MCGenDwarfInfo::Emit().
|
static |
Definition at line 799 of file MCDwarf.cpp.
References llvm::MCSymbolRefExpr::create(), emitAbsValue(), llvm::MCStreamer::EmitFill(), llvm::MCStreamer::EmitIntValue(), llvm::MCStreamer::EmitValue(), llvm::MCContext::getAsmInfo(), llvm::MCStreamer::getContext(), llvm::MCObjectFileInfo::getDwarfRangesSection(), llvm::MCContext::getGenDwarfSectionSyms(), llvm::MCContext::getObjectFileInfo(), llvm::MCAsmInfo::getPointerSize(), MakeStartMinusEndExpr(), llvm::COFF::SectionSize, llvm::MCStreamer::SwitchSection(), and llvm::MCSymbolRefExpr::VK_None.
Referenced by llvm::MCGenDwarfInfo::Emit().
|
static |
Definition at line 989 of file MCDwarf.cpp.
References llvm::MCStreamer::EmitValue(), llvm::MCContext::getAsmInfo(), llvm::MCStreamer::getContext(), llvm::MCAsmInfo::getExprForPersonalitySymbol(), getSizeForEncoding(), and size.
|
static |
Definition at line 242 of file MCDwarf.cpp.
References SISrcMods::ABS, llvm::MCSymbolRefExpr::create(), llvm::MCContext::createTempSymbol(), llvm::MCStreamer::EmitAssignment(), llvm::MCContext::getAsmInfo(), llvm::MCStreamer::getContext(), and llvm::MCAsmInfo::hasAggressiveSymbolFolding().
Referenced by emitAbsValue().
Definition at line 1248 of file MCDwarf.cpp.
References llvm_unreachable.
|
static |
Definition at line 944 of file MCDwarf.cpp.
References llvm::MCContext::getAsmInfo(), llvm::MCAsmInfo::getCalleeSaveStackSlotSize(), llvm::MCStreamer::getContext(), llvm::MCAsmInfo::isStackGrowthDirectionUp(), and size.
|
static |
Definition at line 954 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::MCStreamer::getContext(), llvm::MCAsmInfo::getPointerSize(), and llvm_unreachable.
Referenced by emitFDESymbol(), and EmitPersonality().
|
inlinestatic |
Definition at line 95 of file MCDwarf.cpp.
References llvm::MCConstantExpr::create(), llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::create(), llvm::MCStreamer::getContext(), llvm::MCBinaryExpr::Sub, and llvm::MCSymbolRefExpr::VK_None.
Referenced by llvm::MCDwarfLineTableHeader::Emit(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), and EmitGenDwarfRanges().
|
inlinestatic |
Definition at line 51 of file MCDwarf.cpp.
References llvm::MCContext::getAsmInfo(), and llvm::MCAsmInfo::getMinInstAlignment().
Referenced by llvm::MCDwarfLineAddr::Encode(), and llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc().
1.8.6