LLVM API Documentation

Public Types | Public Member Functions
llvm::RecordStreamer Class Reference

#include <RecordStreamer.h>

Inheritance diagram for llvm::RecordStreamer:
Inheritance graph
[legend]
Collaboration diagram for llvm::RecordStreamer:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

Definition at line 16 of file RecordStreamer.h.


Member Typedef Documentation

Definition at line 28 of file RecordStreamer.h.


Member Enumeration Documentation

Enumerator:
NeverSeen 
Global 
Defined 
DefinedGlobal 
Used 

Definition at line 18 of file RecordStreamer.h.


Constructor & Destructor Documentation

Definition at line 68 of file RecordStreamer.cpp.


Member Function Documentation

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.

Parameters:
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.

Parameters:
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:

Parameters:
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.

Parameters:
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().


The documentation for this class was generated from the following files: