LLVM API Documentation
#include <RecordStreamer.h>
Public Types | |
enum | State { NeverSeen, Global, Defined, DefinedGlobal, Used } |
typedef StringMap< State > ::const_iterator | const_iterator |
Public Member Functions | |
const_iterator | begin () |
const_iterator | end () |
RecordStreamer (MCContext &Context) | |
void | EmitInstruction (const MCInst &Inst, const MCSubtargetInfo &STI) override |
void | EmitLabel (MCSymbol *Symbol) override |
void | EmitAssignment (MCSymbol *Symbol, const MCExpr *Value) override |
bool | EmitSymbolAttribute (MCSymbol *Symbol, MCSymbolAttr Attribute) override |
EmitSymbolAttribute - Add the given Attribute to Symbol . | |
void | EmitZerofill (const MCSection *Section, MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override |
void | EmitCommonSymbol (MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override |
Definition at line 16 of file RecordStreamer.h.
Definition at line 28 of file RecordStreamer.h.
Definition at line 18 of file RecordStreamer.h.
RecordStreamer::RecordStreamer | ( | MCContext & | Context | ) |
Definition at line 68 of file RecordStreamer.cpp.
Definition at line 62 of file RecordStreamer.cpp.
References llvm::StringMap< ValueTy, AllocatorTy >::begin().
void RecordStreamer::EmitAssignment | ( | MCSymbol * | Symbol, |
const MCExpr * | Value | ||
) | [override, virtual] |
EmitAssignment - Emit an assignment of Value
to Symbol
.
This corresponds to an assembler statement such as: symbol = value
The assignment generates no code, but has the side effect of binding the value in the current context. For the assembly streamer, this prints the binding into the .s file.
Symbol | - The symbol being assigned to. |
Value | - The value for the symbol. |
Reimplemented from llvm::MCStreamer.
Definition at line 80 of file RecordStreamer.cpp.
void RecordStreamer::EmitCommonSymbol | ( | MCSymbol * | Symbol, |
uint64_t | Size, | ||
unsigned | ByteAlignment | ||
) | [override, virtual] |
EmitCommonSymbol - Emit a common symbol.
Symbol | - The common symbol to emit. |
Size | - The size of the common symbol. |
ByteAlignment | - The alignment of the symbol if non-zero. This must be a power of 2. |
Implements llvm::MCStreamer.
Definition at line 97 of file RecordStreamer.cpp.
void RecordStreamer::EmitInstruction | ( | const MCInst & | Inst, |
const MCSubtargetInfo & | STI | ||
) | [override, virtual] |
EmitInstruction - Emit the given Instruction
into the current section.
Reimplemented from llvm::MCStreamer.
Definition at line 70 of file RecordStreamer.cpp.
void RecordStreamer::EmitLabel | ( | MCSymbol * | Symbol | ) | [override, virtual] |
EmitLabel - Emit a label for Symbol
into the current section.
This corresponds to an assembler statement such as: foo:
Symbol | - The symbol to emit. A given symbol should only be emitted as a label once, and symbols emitted as a label should never be used in an assignment. |
Reimplemented from llvm::MCStreamer.
Definition at line 75 of file RecordStreamer.cpp.
bool RecordStreamer::EmitSymbolAttribute | ( | MCSymbol * | Symbol, |
MCSymbolAttr | Attribute | ||
) | [override, virtual] |
EmitSymbolAttribute - Add the given Attribute
to Symbol
.
Implements llvm::MCStreamer.
Definition at line 85 of file RecordStreamer.cpp.
References llvm::MCSA_Global.
void RecordStreamer::EmitZerofill | ( | const MCSection * | Section, |
MCSymbol * | Symbol, | ||
uint64_t | Size, | ||
unsigned | ByteAlignment | ||
) | [override, virtual] |
EmitZerofill - Emit the zerofill section and an optional symbol.
Section | - The zerofill section to create and or to put the symbol |
Symbol | - The zerofill symbol to emit, if non-NULL. |
Size | - The size of the zerofill symbol. |
ByteAlignment | - The alignment of the zerofill symbol if non-zero. This must be a power of 2 on some targets. |
Implements llvm::MCStreamer.
Definition at line 92 of file RecordStreamer.cpp.
Definition at line 66 of file RecordStreamer.cpp.
References llvm::StringMap< ValueTy, AllocatorTy >::end().