LLVM API Documentation

Classes | Namespaces | Defines | Functions
MCDwarf.cpp File Reference
#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"
Include dependency graph for MCDwarf.cpp:

Go to the source code of this file.

Classes

struct  llvm::DenseMapInfo< CIEKey >

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


Defines

#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

Functions

static uint64_t ScaleAddrDelta (MCContext &Context, uint64_t AddrDelta)
static const MCExprMakeStartMinusEndExpr (const MCStreamer &MCOS, const MCSymbol &Start, const MCSymbol &End, int IntVal)
static void EmitDwarfLineTable (MCObjectStreamer *MCOS, const MCSection *Section, const MCLineSection::MCLineEntryCollection &LineEntries)
static const MCExprforceExpAbs (MCStreamer &OS, const MCExpr *Expr)
static void emitAbsValue (MCStreamer &OS, const MCExpr *Value, unsigned Size)
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 *RangesSectionSymbol)
static void 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)

Define Documentation

#define DWARF2_LINE_BASE   -5
#define DWARF2_LINE_OPCODE_BASE   13
#define DWARF2_LINE_RANGE   14

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.


Function Documentation

static void EmitAbbrev ( MCStreamer MCOS,
uint64_t  Name,
uint64_t  Form 
) [static]

Definition at line 523 of file MCDwarf.cpp.

References llvm::MCStreamer::EmitULEB128IntValue().

Referenced by EmitGenDwarfAbbrev().

static void emitAbsValue ( MCStreamer OS,
const MCExpr Value,
unsigned  Size 
) [static]
static void EmitDwarfLineTable ( MCObjectStreamer MCOS,
const MCSection Section,
const MCLineSection::MCLineEntryCollection LineEntries 
) [inline, static]
static void emitEncodingByte ( MCObjectStreamer Streamer,
unsigned  Encoding 
) [static]

Definition at line 1051 of file MCDwarf.cpp.

References llvm::MCStreamer::EmitIntValue().

static void emitFDESymbol ( MCObjectStreamer streamer,
const MCSymbol symbol,
unsigned  symbolEncoding,
bool  isEH 
) [static]
static void EmitGenDwarfAbbrev ( MCStreamer MCOS) [static]
static void EmitGenDwarfAranges ( MCStreamer MCOS,
const MCSymbol InfoSectionSymbol 
) [static]
static void EmitGenDwarfInfo ( MCStreamer MCOS,
const MCSymbol AbbrevSectionSymbol,
const MCSymbol LineSectionSymbol,
const MCSymbol RangesSectionSymbol 
) [static]
static void EmitGenDwarfRanges ( MCStreamer MCOS) [static]
static void EmitPersonality ( MCStreamer streamer,
const MCSymbol symbol,
unsigned  symbolEncoding 
) [static]
static const MCExpr* forceExpAbs ( MCStreamer OS,
const MCExpr Expr 
) [static]
static int getDataAlignmentFactor ( MCStreamer streamer) [static]
static unsigned getSizeForEncoding ( MCStreamer streamer,
unsigned  symbolEncoding 
) [static]
static const MCExpr* MakeStartMinusEndExpr ( const MCStreamer MCOS,
const MCSymbol Start,
const MCSymbol End,
int  IntVal 
) [inline, static]
static uint64_t ScaleAddrDelta ( MCContext Context,
uint64_t  AddrDelta 
) [inline, static]