LLVM API Documentation
Streaming object file generation interface. More...
#include <MCObjectStreamer.h>
Public Member Functions | |
virtual void | reset () |
state management More... | |
MCAssembler & | getAssembler () |
MCStreamer Interface | |
virtual void | EmitLabel (MCSymbol *Symbol) |
virtual void | EmitDebugLabel (MCSymbol *Symbol) |
virtual void | EmitAssignment (MCSymbol *Symbol, const MCExpr *Value) |
virtual void | EmitValueImpl (const MCExpr *Value, unsigned Size) |
virtual void | EmitULEB128Value (const MCExpr *Value) |
virtual void | EmitSLEB128Value (const MCExpr *Value) |
virtual void | EmitWeakReference (MCSymbol *Alias, const MCSymbol *Symbol) |
virtual void | ChangeSection (const MCSection *Section, const MCExpr *Subsection) |
virtual void | EmitInstruction (const MCInst &Inst) |
virtual void | EmitInstToFragment (const MCInst &Inst) |
Emit an instruction to a special fragment, because this instruction can change its size during relaxation. More... | |
virtual void | EmitBundleAlignMode (unsigned AlignPow2) |
Set the bundle alignment mode from now on in the section. The argument is the power of 2 to which the alignment is set. The value 0 means turn the bundle alignment off. More... | |
virtual void | EmitBundleLock (bool AlignToEnd) |
The following instructions are a bundle-locked group. More... | |
virtual void | EmitBundleUnlock () |
Ends a bundle-locked group. More... | |
virtual void | EmitBytes (StringRef Data) |
virtual void | EmitValueToAlignment (unsigned ByteAlignment, int64_t Value=0, unsigned ValueSize=1, unsigned MaxBytesToEmit=0) |
virtual void | EmitCodeAlignment (unsigned ByteAlignment, unsigned MaxBytesToEmit=0) |
virtual bool | EmitValueToOffset (const MCExpr *Offset, unsigned char Value) |
virtual void | EmitDwarfLocDirective (unsigned FileNo, unsigned Line, unsigned Column, unsigned Flags, unsigned Isa, unsigned Discriminator, StringRef FileName) |
EmitDwarfLocDirective - This implements the DWARF2. More... | |
virtual void | EmitDwarfAdvanceLineAddr (int64_t LineDelta, const MCSymbol *LastLabel, const MCSymbol *Label, unsigned PointerSize) |
virtual void | EmitDwarfAdvanceFrameAddr (const MCSymbol *LastLabel, const MCSymbol *Label) |
virtual void | EmitGPRel32Value (const MCExpr *Value) |
virtual void | EmitGPRel64Value (const MCExpr *Value) |
virtual void | EmitFill (uint64_t NumBytes, uint8_t FillValue) |
virtual void | EmitZeros (uint64_t NumBytes) |
Emit NumBytes worth of zeros. This function properly handles data in virtual sections. More... | |
virtual void | FinishImpl () |
FinishImpl - Streamer specific finalization. More... | |
![]() | |
virtual | ~MCStreamer () |
MCContext & | getContext () const |
MCTargetStreamer & | getTargetStreamer () |
unsigned | getNumFrameInfos () |
const MCDwarfFrameInfo & | getFrameInfo (unsigned i) |
ArrayRef< MCDwarfFrameInfo > | getFrameInfos () const |
unsigned | getNumW64UnwindInfos () |
MCWin64EHUnwindInfo & | getW64UnwindInfo (unsigned i) |
void | generateCompactUnwindEncodings (MCAsmBackend *MAB) |
virtual void | EmitFileDirective (StringRef Filename)=0 |
virtual void | EmitIdent (StringRef IdentString) |
virtual bool | EmitDwarfFileDirective (unsigned FileNo, StringRef Directory, StringRef Filename, unsigned CUID=0) |
void | EmitDwarfSetLineAddr (int64_t LineDelta, const MCSymbol *Label, int PointerSize) |
virtual void | EmitCompactUnwindEncoding (uint32_t CompactUnwindEncoding) |
virtual void | EmitCFISections (bool EH, bool Debug) |
void | EmitCFIStartProc () |
void | EmitCFIEndProc () |
virtual void | EmitCFIDefCfa (int64_t Register, int64_t Offset) |
virtual void | EmitCFIDefCfaOffset (int64_t Offset) |
virtual void | EmitCFIDefCfaRegister (int64_t Register) |
virtual void | EmitCFIOffset (int64_t Register, int64_t Offset) |
virtual void | EmitCFIPersonality (const MCSymbol *Sym, unsigned Encoding) |
virtual void | EmitCFILsda (const MCSymbol *Sym, unsigned Encoding) |
virtual void | EmitCFIRememberState () |
virtual void | EmitCFIRestoreState () |
virtual void | EmitCFISameValue (int64_t Register) |
virtual void | EmitCFIRestore (int64_t Register) |
virtual void | EmitCFIRelOffset (int64_t Register, int64_t Offset) |
virtual void | EmitCFIAdjustCfaOffset (int64_t Adjustment) |
virtual void | EmitCFIEscape (StringRef Values) |
virtual void | EmitCFISignalFrame () |
virtual void | EmitCFIUndefined (int64_t Register) |
virtual void | EmitCFIRegister (int64_t Register1, int64_t Register2) |
virtual void | EmitCFIWindowSave () |
virtual void | EmitWin64EHStartProc (const MCSymbol *Symbol) |
virtual void | EmitWin64EHEndProc () |
virtual void | EmitWin64EHStartChained () |
virtual void | EmitWin64EHEndChained () |
virtual void | EmitWin64EHHandler (const MCSymbol *Sym, bool Unwind, bool Except) |
virtual void | EmitWin64EHHandlerData () |
virtual void | EmitWin64EHPushReg (unsigned Register) |
virtual void | EmitWin64EHSetFrame (unsigned Register, unsigned Offset) |
virtual void | EmitWin64EHAllocStack (unsigned Size) |
virtual void | EmitWin64EHSaveReg (unsigned Register, unsigned Offset) |
virtual void | EmitWin64EHSaveXMM (unsigned Register, unsigned Offset) |
virtual void | EmitWin64EHPushFrame (bool Code) |
virtual void | EmitWin64EHEndProlog () |
void | EmitRawText (const Twine &String) |
virtual void | Flush () |
Flush - Causes any cached state to be written out. More... | |
void | Finish () |
Finish - Finish emission of machine code. More... | |
virtual bool | isVerboseAsm () const |
virtual bool | hasRawTextSupport () const |
virtual void | AddComment (const Twine &T) |
virtual raw_ostream & | GetCommentOS () |
virtual void | AddBlankLine () |
AddBlankLine - Emit a blank line to a .s file to pretty it up. More... | |
MCSectionSubPair | getCurrentSection () const |
MCSectionSubPair | getPreviousSection () const |
unsigned | GetSymbolOrder (const MCSymbol *Sym) const |
void | PushSection () |
bool | PopSection () |
bool | SubSection (const MCExpr *Subsection) |
void | SwitchSection (const MCSection *Section, const MCExpr *Subsection=0) |
void | SwitchSectionNoChange (const MCSection *Section, const MCExpr *Subsection=0) |
void | InitStreamer () |
Initialize the streamer. More... | |
void | setAutoInitSections (bool AutoInitSections) |
Tell this MCStreamer to call InitSections upon initialization. More... | |
virtual void | InitSections ()=0 |
InitSections - Create the default sections and set the initial one. More... | |
virtual void | InitToTextSection ()=0 |
InitToTextSection - Create a text section and switch the streamer to it. More... | |
void | AssignSection (MCSymbol *Symbol, const MCSection *Section) |
virtual void | EmitEHSymAttributes (const MCSymbol *Symbol, MCSymbol *EHSymbol) |
virtual void | EmitAssemblerFlag (MCAssemblerFlag Flag)=0 |
EmitAssemblerFlag - Note in the output the specified Flag . More... | |
virtual void | EmitLinkerOptions (ArrayRef< std::string > Kind) |
virtual void | EmitDataRegion (MCDataRegionType Kind) |
EmitDataRegion - Note in the output the specified region Kind . More... | |
virtual void | EmitThumbFunc (MCSymbol *Func)=0 |
virtual MCSymbolData & | getOrCreateSymbolData (MCSymbol *Symbol) |
getOrCreateSymbolData - Get symbol data for given symbol. More... | |
virtual bool | EmitSymbolAttribute (MCSymbol *Symbol, MCSymbolAttr Attribute)=0 |
EmitSymbolAttribute - Add the given Attribute to Symbol . More... | |
virtual void | EmitSymbolDesc (MCSymbol *Symbol, unsigned DescValue)=0 |
virtual void | BeginCOFFSymbolDef (const MCSymbol *Symbol)=0 |
virtual void | EmitCOFFSymbolStorageClass (int StorageClass)=0 |
virtual void | EmitCOFFSymbolType (int Type)=0 |
virtual void | EndCOFFSymbolDef ()=0 |
EndCOFFSymbolDef - Marks the end of the symbol definition. More... | |
virtual void | EmitCOFFSecRel32 (MCSymbol const *Symbol) |
virtual void | EmitELFSize (MCSymbol *Symbol, const MCExpr *Value)=0 |
virtual void | EmitCommonSymbol (MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment)=0 |
virtual void | EmitLocalCommonSymbol (MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment)=0 |
virtual void | EmitZerofill (const MCSection *Section, MCSymbol *Symbol=0, uint64_t Size=0, unsigned ByteAlignment=0)=0 |
virtual void | EmitTBSSSymbol (const MCSection *Section, MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment=0)=0 |
void | EmitValue (const MCExpr *Value, unsigned Size) |
virtual void | EmitIntValue (uint64_t Value, unsigned Size) |
void | EmitAbsValue (const MCExpr *Value, unsigned Size) |
void | EmitULEB128IntValue (uint64_t Value, unsigned Padding=0) |
void | EmitSLEB128IntValue (int64_t Value) |
void | EmitSymbolValue (const MCSymbol *Sym, unsigned Size) |
Streaming object file generation interface.
This class provides an implementation of the MCStreamer interface which is suitable for use with the assembler backend. Specific object file formats are expected to subclass this interface to implement directives specific to that file format or custom semantics expected by the object writer implementation.
Definition at line 33 of file MCObjectStreamer.h.
|
protected |
Definition at line 25 of file MCObjectStreamer.cpp.
|
protected |
Definition at line 34 of file MCObjectStreamer.cpp.
|
protected |
Definition at line 42 of file MCObjectStreamer.cpp.
References llvm::MCAssembler::getBackend(), llvm::MCAssembler::getEmitter(), and llvm::MCAssembler::getWriter().
Definition at line 77 of file MCObjectStreamer.cpp.
References llvm::MCExpr::Binary, llvm::MCExpr::Constant, llvm::MCExpr::getKind(), llvm::MCBinaryExpr::getLHS(), llvm::MCAssembler::getOrCreateSymbolData(), llvm::MCBinaryExpr::getRHS(), llvm::MCExpr::SymbolRef, llvm::MCExpr::Target, and llvm::MCExpr::Unary.
Referenced by EmitAssignment(), EmitInstruction(), and EmitValueImpl().
ChangeSection - Update streamer for a new active section.
This is called by PopSection and SwitchSection, if the current section changes.
Implements llvm::MCStreamer.
Reimplemented in llvm::MCELFStreamer.
Definition at line 174 of file MCObjectStreamer.cpp.
References getAssembler(), llvm::MCAssembler::getOrCreateSectionData(), llvm::MCSectionData::getSubsectionInsertionPoint(), and llvm::report_fatal_error().
Referenced by llvm::MCELFStreamer::ChangeSection().
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. |
Implements llvm::MCStreamer.
Definition at line 190 of file MCObjectStreamer.cpp.
References AddValueSymbols(), getAssembler(), llvm::MCAssembler::getOrCreateSymbolData(), and llvm::MCSymbol::setVariableValue().
|
virtual |
Set the bundle alignment mode from now on in the section. The argument is the power of 2 to which the alignment is set. The value 0 means turn the bundle alignment off.
Implements llvm::MCStreamer.
Definition at line 252 of file MCObjectStreamer.cpp.
References BundlingNotImplementedMsg, and llvm_unreachable.
|
virtual |
The following instructions are a bundle-locked group.
AlignToEnd | - If true, the bundle-locked group will be aligned to the end of a bundle. |
Implements llvm::MCStreamer.
Definition at line 256 of file MCObjectStreamer.cpp.
References BundlingNotImplementedMsg, and llvm_unreachable.
|
virtual |
Ends a bundle-locked group.
Implements llvm::MCStreamer.
Definition at line 260 of file MCObjectStreamer.cpp.
References BundlingNotImplementedMsg, and llvm_unreachable.
|
virtual |
EmitBytes - Emit the bytes in Data
into the output.
This is used to implement assembler directives such as .byte, .ascii, etc.
Implements llvm::MCStreamer.
Definition at line 307 of file MCObjectStreamer.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::StringRef::begin(), llvm::StringRef::end(), llvm::MCDataFragment::getContents(), llvm::MCStreamer::getCurrentSection(), getOrCreateDataFragment(), and llvm::MCLineEntry::Make().
Referenced by llvm::MCELFStreamer::EmitIdent().
|
virtual |
EmitCodeAlignment - Emit nops until the byte alignment ByteAlignment
is reached.
This used to align code where the alignment bytes may be executed. This can emit different bytes for different sizes to optimize execution.
ByteAlignment | - The alignment to reach. This must be a power of two on some targets. |
MaxBytesToEmit | - The maximum numbers of bytes to emit, or 0. If the alignment cannot be reached in this many bytes, no bytes are emitted. |
Implements llvm::MCStreamer.
Definition at line 325 of file MCObjectStreamer.cpp.
References EmitValueToAlignment(), and getCurrentFragment().
|
virtual |
Reimplemented from llvm::MCStreamer.
Reimplemented in llvm::MCELFStreamer.
Definition at line 145 of file MCObjectStreamer.cpp.
References EmitLabel().
|
virtual |
Reimplemented from llvm::MCStreamer.
Definition at line 295 of file MCObjectStreamer.cpp.
References llvm::MCStreamer::BuildSymbolDiff(), llvm::MCDwarfFrameEmitter::EmitAdvanceLoc(), llvm::MCStreamer::ForceExpAbs(), getAssembler(), llvm::MCStreamer::getContext(), and insert().
|
virtual |
Implements llvm::MCStreamer.
Definition at line 277 of file MCObjectStreamer.cpp.
References llvm::MCStreamer::BuildSymbolDiff(), llvm::MCDwarfLineAddr::Emit(), llvm::MCStreamer::EmitDwarfSetLineAddr(), llvm::MCStreamer::ForceExpAbs(), getAssembler(), llvm::MCStreamer::getContext(), and insert().
|
virtual |
EmitDwarfLocDirective - This implements the DWARF2.
Reimplemented from llvm::MCStreamer.
Definition at line 264 of file MCObjectStreamer.cpp.
References llvm::MCStreamer::EmitDwarfLocDirective(), llvm::MCStreamer::getCurrentSection(), and llvm::MCLineEntry::Make().
|
virtual |
EmitFill - Emit NumBytes bytes worth of the value specified by FillValue. This implements directives such as '.space'.
Reimplemented from llvm::MCStreamer.
Definition at line 371 of file MCObjectStreamer.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::MCDataFragment::getContents(), and getOrCreateDataFragment().
Referenced by EmitValueToOffset().
|
virtual |
EmitGPRel32Value - Emit the expression Value
into the output as a gprel32 (32-bit GP relative) value.
This is used to implement assembler directives such as .gprel32 on targets that support them.
Reimplemented from llvm::MCStreamer.
Definition at line 354 of file MCObjectStreamer.cpp.
References llvm::MCFixup::Create(), llvm::X86II::DF, llvm::FK_GPRel_4, llvm::MCDataFragment::getContents(), llvm::MCDataFragment::getFixups(), getOrCreateDataFragment(), llvm::SmallVectorImpl< T >::resize(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
|
virtual |
EmitGPRel64Value - Emit the expression Value
into the output as a gprel64 (64-bit GP relative) value.
This is used to implement assembler directives such as .gpdword on targets that support them.
Reimplemented from llvm::MCStreamer.
Definition at line 363 of file MCObjectStreamer.cpp.
References llvm::MCFixup::Create(), llvm::X86II::DF, llvm::FK_GPRel_4, llvm::MCDataFragment::getContents(), llvm::MCDataFragment::getFixups(), getOrCreateDataFragment(), llvm::SmallVectorImpl< T >::resize(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
|
virtual |
EmitInstruction - Emit the given Instruction
into the current section.
Implements llvm::MCStreamer.
Definition at line 195 of file MCObjectStreamer.cpp.
References AddValueSymbols(), EmitInstToFragment(), getAssembler(), llvm::MCAssembler::getBackend(), llvm::MCStreamer::getCurrentSection(), getCurrentSectionData(), llvm::MCOperand::getExpr(), llvm::MCInst::getNumOperands(), llvm::MCInst::getOperand(), llvm::MCAssembler::getRelaxAll(), llvm::MCSectionData::isBundleLocked(), llvm::MCAssembler::isBundlingEnabled(), llvm::MCOperand::isExpr(), llvm::MCLineEntry::Make(), llvm::MCAsmBackend::mayNeedRelaxation(), llvm::MCAsmBackend::relaxInstruction(), and llvm::MCSectionData::setHasInstructions().
|
virtual |
Emit an instruction to a special fragment, because this instruction can change its size during relaxation.
Definition at line 234 of file MCObjectStreamer.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::tgtok::Code, llvm::MCCodeEmitter::EncodeInstruction(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::raw_ostream::flush(), getAssembler(), llvm::MCRelaxableFragment::getContents(), llvm::MCAssembler::getEmitter(), llvm::MCRelaxableFragment::getFixups(), and insert().
Referenced by EmitInstruction().
|
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.
Reimplemented in llvm::MCELFStreamer.
Definition at line 130 of file MCObjectStreamer.cpp.
References llvm::MCStreamer::EmitLabel(), F(), getAssembler(), llvm::MCDataFragment::getContents(), llvm::MCSymbolData::getFragment(), getOrCreateDataFragment(), llvm::MCAssembler::getOrCreateSymbolData(), llvm::MCSymbolData::setFragment(), llvm::MCSymbolData::setOffset(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by EmitDebugLabel(), llvm::MCELFStreamer::EmitLabel(), and EmitValueToOffset().
|
virtual |
Implements llvm::MCStreamer.
Definition at line 159 of file MCObjectStreamer.cpp.
References llvm::MCStreamer::EmitSLEB128IntValue(), llvm::MCStreamer::ForceExpAbs(), getAssembler(), and insert().
|
virtual |
Implements llvm::MCStreamer.
Definition at line 149 of file MCObjectStreamer.cpp.
References llvm::MCStreamer::EmitULEB128IntValue(), llvm::MCStreamer::ForceExpAbs(), getAssembler(), and insert().
EmitValue - Emit the expression Value
into the output as a native integer of the given Size
bytes.
This is used to implement assembler directives such as .word, .quad, etc.
Value | - The value to emit. |
Size | - The size of the integer (in bytes) to emit. This must match a native machine width. |
Implements llvm::MCStreamer.
Reimplemented in llvm::MCELFStreamer.
Definition at line 105 of file MCObjectStreamer.cpp.
References AddValueSymbols(), llvm::MCFixup::Create(), llvm::X86II::DF, llvm::MCStreamer::EmitIntValue(), getAssembler(), llvm::MCDataFragment::getContents(), llvm::MCStreamer::getCurrentSection(), llvm::MCDataFragment::getFixups(), llvm::MCFixup::getKindForSize(), getOrCreateDataFragment(), llvm::MCLineEntry::Make(), llvm::SmallVectorImpl< T >::resize(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by llvm::MCELFStreamer::EmitValueImpl().
|
virtual |
EmitValueToAlignment - Emit some number of copies of Value
until the byte alignment ByteAlignment
is reached.
If the number of bytes need to emit for the alignment is not a multiple of ValueSize
, then the contents of the emitted fill bytes is undefined.
This used to implement the .align assembler directive.
ByteAlignment | - The alignment to reach. This must be a power of two on some targets. |
Value | - The value to use when filling bytes. |
ValueSize | - The size of the integer (in bytes) to emit for Value . This must match a native machine width. |
MaxBytesToEmit | - The maximum numbers of bytes to emit, or 0. If the alignment cannot be reached in this many bytes, no bytes are emitted. |
Implements llvm::MCStreamer.
Reimplemented in llvm::MCELFStreamer.
Definition at line 312 of file MCObjectStreamer.cpp.
References llvm::LCOMM::ByteAlignment, getCurrentSectionData(), insert(), and llvm::MCSectionData::setAlignment().
Referenced by EmitCodeAlignment(), and llvm::MCELFStreamer::EmitValueToAlignment().
EmitValueToOffset - Emit some number of copies of Value
until the byte offset Offset
is reached.
This is used to implement assembler directives such as .org.
Offset | - The offset to reach. This may be an expression, but the expression must be associated with the current section. |
Value | - The value to use when filling bytes. |
Implements llvm::MCStreamer.
Definition at line 331 of file MCObjectStreamer.cpp.
References llvm::MCSymbolRefExpr::Create(), llvm::MCBinaryExpr::Create(), llvm::MCContext::CreateTempSymbol(), EmitFill(), EmitLabel(), getAssembler(), llvm::MCStreamer::getContext(), insert(), llvm::MCBinaryExpr::Sub, and llvm::MCSymbolRefExpr::VK_None.
EmitWeakReference - Emit an weak reference from Alias
to Symbol
.
This corresponds to an assembler statement such as: .weakref alias, symbol
Alias | - The alias that is being created. |
Symbol | - The symbol being aliased. |
Implements llvm::MCStreamer.
Reimplemented in llvm::MCELFStreamer.
Definition at line 169 of file MCObjectStreamer.cpp.
References llvm::report_fatal_error().
|
virtual |
Emit NumBytes worth of zeros. This function properly handles data in virtual sections.
The implementation in this class just redirects to EmitFill.
Reimplemented from llvm::MCStreamer.
Definition at line 377 of file MCObjectStreamer.cpp.
References llvm::MCStreamer::getCurrentSection(), and insert().
|
virtual |
FinishImpl - Streamer specific finalization.
Implements llvm::MCStreamer.
Reimplemented in llvm::MCELFStreamer.
Definition at line 382 of file MCObjectStreamer.cpp.
References llvm::MCDwarfFileTable::Emit(), llvm::MCGenDwarfInfo::Emit(), llvm::MCAssembler::Finish(), getAssembler(), and llvm::MCStreamer::getContext().
Referenced by llvm::MCELFStreamer::FinishImpl().
|
inline |
Definition at line 74 of file MCObjectStreamer.h.
Referenced by llvm::MCELFStreamer::ChangeSection(), ChangeSection(), llvm::createELFStreamer(), llvm::MCELFStreamer::EmitAssemblerFlag(), EmitAssignment(), llvm::MCELFStreamer::EmitCommonSymbol(), EmitDwarfAdvanceFrameAddr(), EmitDwarfAdvanceLineAddr(), llvm::MCELFStreamer::EmitELFSize(), llvm::MCELFStreamer::EmitFileDirective(), llvm::MCELFStreamer::EmitIdent(), llvm::AMDGPUAsmPrinter::EmitInstruction(), EmitInstruction(), EmitInstToFragment(), llvm::MCELFStreamer::EmitLabel(), EmitLabel(), llvm::MCELFStreamer::EmitLocalCommonSymbol(), llvm::MipsTargetELFStreamer::emitMipsHackELFFlags(), EmitSLEB128Value(), llvm::MCELFStreamer::EmitSymbolAttribute(), EmitULEB128Value(), EmitValueImpl(), EmitValueToOffset(), llvm::MCELFStreamer::EmitWeakReference(), FinishImpl(), llvm::MCELFStreamer::Flush(), and llvm::MCELFStreamer::getOrCreateSymbolData().
|
protected |
Definition at line 57 of file MCObjectStreamer.cpp.
References llvm::sys::path::begin(), getCurrentSectionData(), and llvm::prior().
Referenced by EmitCodeAlignment(), and getOrCreateDataFragment().
|
inlineprotected |
Definition at line 56 of file MCObjectStreamer.h.
Referenced by llvm::MCELFStreamer::ChangeSection(), EmitInstruction(), llvm::MCELFStreamer::EmitSymbolAttribute(), llvm::MCELFStreamer::EmitValueImpl(), llvm::MCELFStreamer::EmitValueToAlignment(), EmitValueToAlignment(), and getCurrentFragment().
|
protected |
Get a data fragment to write into, creating a new one if the current fragment is not a data fragment.
Definition at line 66 of file MCObjectStreamer.cpp.
References F(), getCurrentFragment(), llvm::MCDataFragment::hasInstructions(), insert(), and llvm::MCAssembler::isBundlingEnabled().
Referenced by EmitBytes(), EmitFill(), EmitGPRel32Value(), EmitGPRel64Value(), EmitLabel(), and EmitValueImpl().
|
inlineprotected |
Definition at line 62 of file MCObjectStreamer.h.
References llvm::MCSectionData::getFragmentList(), llvm::iplist< NodeTy, Traits >::insert(), and llvm::MCFragment::setParent().
Referenced by EmitDwarfAdvanceFrameAddr(), EmitDwarfAdvanceLineAddr(), EmitInstToFragment(), EmitSLEB128Value(), EmitULEB128Value(), EmitValueToAlignment(), EmitValueToOffset(), EmitZeros(), and getOrCreateDataFragment().
|
virtual |
state management
Reimplemented from llvm::MCStreamer.
Definition at line 49 of file MCObjectStreamer.cpp.
References llvm::MCStreamer::reset(), and llvm::MCAssembler::reset().