LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros | Functions
MCDwarf.cpp File Reference
#include "llvm/MC/MCDwarf.h"
#include "llvm/ADT/Hashing.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/MCRegisterInfo.h"
#include "llvm/MC/MCStreamer.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

 llvm
 List of target independent CodeGen pass IDs.
 

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
 

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 (MCStreamer *MCOS, const MCSection *Section, const MCLineSection *LineSection, unsigned CUID)
 
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)
 
static int getDataAlignmentFactor (MCStreamer &streamer)
 
static unsigned getSizeForEncoding (MCStreamer &streamer, unsigned symbolEncoding)
 
static void EmitSymbol (MCStreamer &streamer, const MCSymbol &symbol, unsigned symbolEncoding, const char *comment=0)
 
static void EmitPersonality (MCStreamer &streamer, const MCSymbol &symbol, unsigned symbolEncoding)
 
static void EmitEncodingByte (MCStreamer &Streamer, unsigned Encoding, StringRef Prefix)
 

Macro Definition Documentation

#define DWARF2_LINE_BASE   -5

Definition at line 44 of file MCDwarf.cpp.

Referenced by llvm::MCDwarfFileTable::EmitCU(), and llvm::MCDwarfLineAddr::Encode().

#define DWARF2_LINE_OPCODE_BASE   13

Definition at line 40 of file MCDwarf.cpp.

Referenced by llvm::MCDwarfFileTable::EmitCU(), and llvm::MCDwarfLineAddr::Encode().

#define DWARF2_LINE_RANGE   14

Definition at line 47 of file MCDwarf.cpp.

Referenced by llvm::MCDwarfFileTable::EmitCU(), and llvm::MCDwarfLineAddr::Encode().

#define MAX_SPECIAL_ADDR_DELTA   SPECIAL_ADDR(255)

Definition at line 35 of file MCDwarf.cpp.

Referenced by llvm::MCDwarfLineAddr::Encode().

#define SPECIAL_ADDR (   op)    (((op) - DWARF2_LINE_OPCODE_BASE)/DWARF2_LINE_RANGE)

Definition at line 32 of file MCDwarf.cpp.

Function Documentation

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

Definition at line 451 of file MCDwarf.cpp.

References llvm::MCStreamer::EmitULEB128IntValue().

Referenced by EmitGenDwarfAbbrev().

static void EmitDwarfLineTable ( MCStreamer MCOS,
const MCSection Section,
const MCLineSection LineSection,
unsigned  CUID 
)
inlinestatic
static void EmitEncodingByte ( MCStreamer Streamer,
unsigned  Encoding,
StringRef  Prefix 
)
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 
)
static
static void EmitPersonality ( MCStreamer streamer,
const MCSymbol symbol,
unsigned  symbolEncoding 
)
static
static void EmitSymbol ( MCStreamer streamer,
const MCSymbol symbol,
unsigned  symbolEncoding,
const char *  comment = 0 
)
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 
)
inlinestatic
static uint64_t ScaleAddrDelta ( MCContext Context,
uint64_t  AddrDelta 
)
inlinestatic