27 virtual void InitToTextSection() {
30 virtual void InitSections() {
34 const MCExpr *Subsection) {
38 assert(Symbol->
isUndefined() &&
"Cannot define a symbol twice!");
39 assert(getCurrentSection().first &&
"Cannot emit before setting section!");
40 AssignSection(Symbol, getCurrentSection().first);
42 virtual void EmitDebugLabel(
MCSymbol *Symbol) {
50 virtual void EmitDwarfAdvanceLineAddr(int64_t LineDelta,
53 unsigned PointerSize) {}
59 virtual void EmitSymbolDesc(
MCSymbol *Symbol,
unsigned DescValue) {}
61 virtual void BeginCOFFSymbolDef(
const MCSymbol *Symbol) {}
62 virtual void EmitCOFFSymbolStorageClass(
int StorageClass) {}
63 virtual void EmitCOFFSymbolType(
int Type) {}
64 virtual void EndCOFFSymbolDef() {}
65 virtual void EmitCOFFSecRel32(
MCSymbol const *Symbol) {}
68 virtual void EmitCommonSymbol(
MCSymbol *Symbol, uint64_t Size,
70 virtual void EmitLocalCommonSymbol(
MCSymbol *Symbol, uint64_t Size,
78 virtual void EmitValueImpl(
const MCExpr *
Value,
unsigned Size) {}
79 virtual void EmitULEB128Value(
const MCExpr *
Value) {}
80 virtual void EmitSLEB128Value(
const MCExpr *
Value) {}
81 virtual void EmitGPRel32Value(
const MCExpr *
Value) {}
83 unsigned ValueSize = 1,
84 unsigned MaxBytesToEmit = 0) {}
87 unsigned MaxBytesToEmit = 0) {}
89 virtual bool EmitValueToOffset(
const MCExpr *Offset,
90 unsigned char Value = 0) {
return false; }
92 virtual void EmitFileDirective(
StringRef Filename) {}
93 virtual bool EmitDwarfFileDirective(
unsigned FileNo,
StringRef Directory,
97 virtual void EmitDwarfLocDirective(
unsigned FileNo,
unsigned Line,
98 unsigned Column,
unsigned Flags,
99 unsigned Isa,
unsigned Discriminator,
101 virtual void EmitInstruction(
const MCInst &Inst) {}
103 virtual void EmitBundleAlignMode(
unsigned AlignPow2) {}
104 virtual void EmitBundleLock(
bool AlignToEnd) {}
105 virtual void EmitBundleUnlock() {}
107 virtual void FinishImpl() {}
110 RecordProcEnd(Frame);
117 return new MCNullStreamer(Context);
MCStreamer * createNullStreamer(MCContext &Ctx)
COFF::SymbolStorageClass StorageClass
LLVM Value Representation.
bool isUndefined() const
isUndefined - Check if this symbol undefined (i.e., implicitly defined).