LLVM API Documentation

Public Member Functions | Protected Member Functions
llvm::MCStreamer Class Reference

#include <MCStreamer.h>

Inheritance diagram for llvm::MCStreamer:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~MCStreamer ()
void visitUsedExpr (const MCExpr &Expr)
virtual void visitUsedSymbol (const MCSymbol &Sym)
void setTargetStreamer (MCTargetStreamer *TS)
virtual void reset ()
MCContextgetContext () const
MCTargetStreamergetTargetStreamer ()
unsigned getNumFrameInfos ()
ArrayRef< MCDwarfFrameInfogetDwarfFrameInfos () const
unsigned getNumWinFrameInfos ()
ArrayRef< WinEH::FrameInfo * > getWinFrameInfos () const
void generateCompactUnwindEncodings (MCAsmBackend *MAB)
virtual void EmitBytes (StringRef Data)
virtual void EmitValueImpl (const MCExpr *Value, unsigned Size, const SMLoc &Loc=SMLoc())
void EmitValue (const MCExpr *Value, unsigned Size, const SMLoc &Loc=SMLoc())
virtual void EmitIntValue (uint64_t Value, unsigned Size)
virtual void EmitULEB128Value (const MCExpr *Value)
virtual void EmitSLEB128Value (const MCExpr *Value)
void EmitULEB128IntValue (uint64_t Value, unsigned Padding=0)
void EmitSLEB128IntValue (int64_t Value)
void EmitSymbolValue (const MCSymbol *Sym, unsigned Size, bool IsSectionRelative=false)
virtual void EmitGPRel64Value (const MCExpr *Value)
virtual void EmitGPRel32Value (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.
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=0)
virtual void EmitFileDirective (StringRef Filename)
virtual void EmitIdent (StringRef IdentString)
virtual unsigned EmitDwarfFileDirective (unsigned FileNo, StringRef Directory, StringRef Filename, unsigned CUID=0)
virtual void EmitDwarfLocDirective (unsigned FileNo, unsigned Line, unsigned Column, unsigned Flags, unsigned Isa, unsigned Discriminator, StringRef FileName)
 EmitDwarfLocDirective - This implements the DWARF2.
virtual MCSymbolgetDwarfLineTableSymbol (unsigned CUID)
virtual void EmitCFISections (bool EH, bool Debug)
void EmitCFIStartProc (bool IsSimple)
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 EmitWinCFIStartProc (const MCSymbol *Symbol)
virtual void EmitWinCFIEndProc ()
virtual void EmitWinCFIStartChained ()
virtual void EmitWinCFIEndChained ()
virtual void EmitWinCFIPushReg (unsigned Register)
virtual void EmitWinCFISetFrame (unsigned Register, unsigned Offset)
virtual void EmitWinCFIAllocStack (unsigned Size)
virtual void EmitWinCFISaveReg (unsigned Register, unsigned Offset)
virtual void EmitWinCFISaveXMM (unsigned Register, unsigned Offset)
virtual void EmitWinCFIPushFrame (bool Code)
virtual void EmitWinCFIEndProlog ()
virtual void EmitWinEHHandler (const MCSymbol *Sym, bool Unwind, bool Except)
virtual void EmitWinEHHandlerData ()
virtual void EmitInstruction (const MCInst &Inst, const MCSubtargetInfo &STI)
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.
virtual void EmitBundleLock (bool AlignToEnd)
 The following instructions are a bundle-locked group.
virtual void EmitBundleUnlock ()
 Ends a bundle-locked group.
void EmitRawText (const Twine &String)
virtual void Flush ()
 Flush - Causes any cached state to be written out.
virtual void FinishImpl ()
 FinishImpl - Streamer specific finalization.
void Finish ()
 Finish - Finish emission of machine code.
virtual bool mayHaveInstructions () const
Assembly File Formatting.
virtual bool isVerboseAsm () const
virtual bool hasRawTextSupport () const
virtual bool isIntegratedAssemblerRequired () const
virtual void AddComment (const Twine &T)
virtual raw_ostreamGetCommentOS ()
virtual void emitRawComment (const Twine &T, bool TabPrefix=true)
virtual void AddBlankLine ()
 AddBlankLine - Emit a blank line to a .s file to pretty it up.
Symbol & Section Management
MCSectionSubPair getCurrentSection () const
MCSectionSubPair getPreviousSection () const
unsigned GetSymbolOrder (const MCSymbol *Sym) const
virtual void ChangeSection (const MCSection *, const MCExpr *)
void PushSection ()
bool PopSection ()
bool SubSection (const MCExpr *Subsection)
void SwitchSection (const MCSection *Section, const MCExpr *Subsection=nullptr)
void SwitchSectionNoChange (const MCSection *Section, const MCExpr *Subsection=nullptr)
virtual void InitSections ()
 Create the default sections and set the initial one.
void AssignSection (MCSymbol *Symbol, const MCSection *Section)
virtual void EmitLabel (MCSymbol *Symbol)
virtual void EmitEHSymAttributes (const MCSymbol *Symbol, MCSymbol *EHSymbol)
virtual void EmitAssemblerFlag (MCAssemblerFlag Flag)
 EmitAssemblerFlag - Note in the output the specified Flag.
virtual void EmitLinkerOptions (ArrayRef< std::string > Kind)
virtual void EmitDataRegion (MCDataRegionType Kind)
 EmitDataRegion - Note in the output the specified region Kind.
virtual void EmitVersionMin (MCVersionMinType, unsigned Major, unsigned Minor, unsigned Update)
 EmitVersionMin - Specify the MachO minimum deployment target version.
virtual void EmitThumbFunc (MCSymbol *Func)
virtual void EmitAssignment (MCSymbol *Symbol, const MCExpr *Value)
virtual void EmitWeakReference (MCSymbol *Alias, const MCSymbol *Symbol)
virtual bool EmitSymbolAttribute (MCSymbol *Symbol, MCSymbolAttr Attribute)=0
 EmitSymbolAttribute - Add the given Attribute to Symbol.
virtual void EmitSymbolDesc (MCSymbol *Symbol, unsigned DescValue)
virtual void BeginCOFFSymbolDef (const MCSymbol *Symbol)
virtual void EmitCOFFSymbolStorageClass (int StorageClass)
virtual void EmitCOFFSymbolType (int Type)
virtual void EndCOFFSymbolDef ()
 EndCOFFSymbolDef - Marks the end of the symbol definition.
virtual void EmitCOFFSectionIndex (MCSymbol const *Symbol)
virtual void EmitCOFFSecRel32 (MCSymbol const *Symbol)
virtual void EmitELFSize (MCSymbol *Symbol, const MCExpr *Value)
virtual void EmitLOHDirective (MCLOHType Kind, const MCLOHArgs &Args)
 Emit a Linker Optimization Hint (LOH) directive.
virtual void EmitCommonSymbol (MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment)=0
virtual void EmitLocalCommonSymbol (MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment)
virtual void EmitZerofill (const MCSection *Section, MCSymbol *Symbol=nullptr, uint64_t Size=0, unsigned ByteAlignment=0)=0
virtual void EmitTBSSSymbol (const MCSection *Section, MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment=0)

Protected Member Functions

 MCStreamer (MCContext &Ctx)
virtual void EmitCFIStartProcImpl (MCDwarfFrameInfo &Frame)
virtual void EmitCFIEndProcImpl (MCDwarfFrameInfo &CurFrame)
WinEH::FrameInfogetCurrentWinFrameInfo ()
virtual void EmitWindowsUnwindTables ()
virtual void EmitRawTextImpl (StringRef String)

Detailed Description

MCStreamer - Streaming machine code generation interface. This interface is intended to provide a programatic interface that is very similar to the level that an assembler .s file provides. It has callbacks to emit bytes, handle directives, etc. The implementation of this interface retains state to know what the current section is etc.

There are multiple implementations of this interface: one for writing out a .s file, and implementations that write out .o files of various formats.

Definition at line 171 of file MCStreamer.h.


Constructor & Destructor Documentation

MCStreamer::MCStreamer ( MCContext Ctx) [protected]
MCStreamer::~MCStreamer ( ) [virtual]

Definition at line 45 of file MCStreamer.cpp.

References getNumWinFrameInfos().


Member Function Documentation

virtual void llvm::MCStreamer::AddBlankLine ( ) [inline, virtual]
virtual void llvm::MCStreamer::AddComment ( const Twine T) [inline, virtual]
void MCStreamer::AssignSection ( MCSymbol Symbol,
const MCSection Section 
)

AssignSection - Sets the symbol's section.

Each emitted symbol will be tracked in the ordering table, so we can sort on them later.

Definition at line 189 of file MCStreamer.cpp.

References llvm::MCSymbol::setSection(), llvm::MCSymbol::setUndefined(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::size(), and llvm::ARMBuildAttrs::Symbol.

Referenced by llvm::MCWinCOFFStreamer::EmitCommonSymbol(), llvm::MCELFStreamer::EmitCommonSymbol(), EmitLabel(), and llvm::MCWinCOFFStreamer::EmitLocalCommonSymbol().

void MCStreamer::BeginCOFFSymbolDef ( const MCSymbol Symbol) [virtual]

BeginCOFFSymbolDef - Start emitting COFF symbol definition

Parameters:
Symbol- The symbol to have its External & Type fields set.

Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 621 of file MCStreamer.cpp.

Referenced by llvm::X86AsmPrinter::EmitStartOfAsmFile(), llvm::ARMAsmPrinter::runOnMachineFunction(), and llvm::X86AsmPrinter::runOnMachineFunction().

void MCStreamer::ChangeSection ( const MCSection ,
const MCExpr  
) [virtual]

ChangeSection - Update streamer for a new active section.

This is called by PopSection and SwitchSection, if the current section changes.

Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.

Definition at line 631 of file MCStreamer.cpp.

Referenced by PopSection(), and SwitchSection().

void MCStreamer::EmitAssignment ( MCSymbol Symbol,
const MCExpr Value 
) [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 in llvm::MCObjectStreamer, and llvm::RecordStreamer.

Definition at line 572 of file MCStreamer.cpp.

References llvm::MCTargetStreamer::emitAssignment(), getTargetStreamer(), llvm::MCSymbol::setVariableValue(), and visitUsedExpr().

Referenced by llvm::DwarfCFIException::beginFunction(), llvm::AsmPrinter::doFinalization(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::AsmPrinter::EmitLabelDifference(), llvm::AsmPrinter::EmitLabelOffsetDifference(), llvm::X86AsmPrinter::EmitStartOfAsmFile(), and forceExpAbs().

void MCStreamer::EmitBundleAlignMode ( unsigned  AlignPow2) [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.

Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.

Definition at line 648 of file MCStreamer.cpp.

void MCStreamer::EmitBundleLock ( bool  AlignToEnd) [virtual]

The following instructions are a bundle-locked group.

Parameters:
AlignToEnd- If true, the bundle-locked group will be aligned to the end of a bundle.

Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.

Definition at line 649 of file MCStreamer.cpp.

void MCStreamer::EmitBundleUnlock ( ) [virtual]

Ends a bundle-locked group.

Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.

Definition at line 651 of file MCStreamer.cpp.

void MCStreamer::EmitBytes ( StringRef  Data) [virtual]
void MCStreamer::EmitCFIAdjustCfaOffset ( int64_t  Adjustment) [virtual]
void MCStreamer::EmitCFIDefCfa ( int64_t  Register,
int64_t  Offset 
) [virtual]
void MCStreamer::EmitCFIDefCfaOffset ( int64_t  Offset) [virtual]
void MCStreamer::EmitCFIDefCfaRegister ( int64_t  Register) [virtual]
void MCStreamer::EmitCFIEndProcImpl ( MCDwarfFrameInfo CurFrame) [protected, virtual]

Definition at line 235 of file MCStreamer.cpp.

References llvm::MCDwarfFrameInfo::End.

Referenced by EmitCFIEndProc().

void MCStreamer::EmitCFIEscape ( StringRef  Values) [virtual]
void MCStreamer::EmitCFILsda ( const MCSymbol Sym,
unsigned  Encoding 
) [virtual]
void MCStreamer::EmitCFIOffset ( int64_t  Register,
int64_t  Offset 
) [virtual]
void MCStreamer::EmitCFIPersonality ( const MCSymbol Sym,
unsigned  Encoding 
) [virtual]
void MCStreamer::EmitCFIRegister ( int64_t  Register1,
int64_t  Register2 
) [virtual]
void MCStreamer::EmitCFIRelOffset ( int64_t  Register,
int64_t  Offset 
) [virtual]
void MCStreamer::EmitCFIRestore ( int64_t  Register) [virtual]
void MCStreamer::EmitCFIRestoreState ( ) [virtual]
void MCStreamer::EmitCFISameValue ( int64_t  Register) [virtual]
void MCStreamer::EmitCFISections ( bool  EH,
bool  Debug 
) [virtual]

Reimplemented in llvm::MCObjectStreamer.

Definition at line 210 of file MCStreamer.cpp.

Referenced by llvm::DwarfCFIException::endModule(), and llvm::ARMException::endModule().

void MCStreamer::EmitCFISignalFrame ( ) [virtual]

Definition at line 349 of file MCStreamer.cpp.

References llvm::MCDwarfFrameInfo::IsSignalFrame.

void MCStreamer::EmitCFIStartProc ( bool  IsSimple)
void MCStreamer::EmitCFIStartProcImpl ( MCDwarfFrameInfo Frame) [protected, virtual]

Definition at line 226 of file MCStreamer.cpp.

Referenced by EmitCFIStartProc().

void MCStreamer::EmitCFIUndefined ( int64_t  Register) [virtual]
void MCStreamer::EmitCFIWindowSave ( ) [virtual]
void MCStreamer::EmitCodeAlignment ( unsigned  ByteAlignment,
unsigned  MaxBytesToEmit = 0 
) [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.

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

Reimplemented in llvm::MCObjectStreamer.

Definition at line 643 of file MCStreamer.cpp.

Referenced by llvm::AsmPrinter::EmitAlignment(), and llvm::ConstantPool::emitEntries().

void MCStreamer::EmitCOFFSecRel32 ( MCSymbol const Symbol) [virtual]

EmitCOFFSecRel32 - Emits a COFF section relative relocation.

Parameters:
Symbol- Symbol the section relative relocation should point to.

Reimplemented in llvm::MCWinCOFFStreamer.

Definition at line 541 of file MCStreamer.cpp.

Referenced by llvm::AsmPrinter::EmitLabelPlusOffset(), llvm::AsmPrinter::EmitSectionOffset(), and EmitSymbolValue().

void MCStreamer::EmitCOFFSectionIndex ( MCSymbol const Symbol) [virtual]

EmitCOFFSectionIndex - Emits a COFF section index.

Parameters:
Symbol- Symbol the section number relocation should point to.

Reimplemented in llvm::MCWinCOFFStreamer.

Definition at line 538 of file MCStreamer.cpp.

void MCStreamer::EmitCOFFSymbolStorageClass ( int  StorageClass) [virtual]

EmitCOFFSymbolStorageClass - Emit the storage class of the symbol.

Parameters:
StorageClass- The storage class the symbol should have.

Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 624 of file MCStreamer.cpp.

Referenced by llvm::X86AsmPrinter::EmitStartOfAsmFile(), llvm::ARMAsmPrinter::runOnMachineFunction(), and llvm::X86AsmPrinter::runOnMachineFunction().

void MCStreamer::EmitCOFFSymbolType ( int  Type) [virtual]

EmitCOFFSymbolType - Emit the type of the symbol.

Parameters:
Type- A COFF type identifier (see COFF::SymbolType in X86COFF.h)

Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 625 of file MCStreamer.cpp.

Referenced by llvm::X86AsmPrinter::EmitStartOfAsmFile(), llvm::ARMAsmPrinter::runOnMachineFunction(), and llvm::X86AsmPrinter::runOnMachineFunction().

virtual void llvm::MCStreamer::EmitCommonSymbol ( MCSymbol Symbol,
uint64_t  Size,
unsigned  ByteAlignment 
) [pure 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.

Implemented in llvm::MCELFStreamer, llvm::MCWinCOFFStreamer, and llvm::RecordStreamer.

Referenced by llvm::AsmPrinter::EmitGlobalVariable().

virtual void llvm::MCStreamer::EmitDataRegion ( MCDataRegionType  Kind) [inline, virtual]
unsigned MCStreamer::EmitDwarfFileDirective ( unsigned  FileNo,
StringRef  Directory,
StringRef  Filename,
unsigned  CUID = 0 
) [virtual]

EmitDwarfFileDirective - Associate a filename with a specified logical file number. This implements the DWARF2 '.file 4 "foo.c"' assembler directive.

Definition at line 144 of file MCStreamer.cpp.

References getContext(), and llvm::MCContext::GetDwarfFile().

Referenced by llvm::DwarfCompileUnit::getOrCreateSourceID().

void MCStreamer::EmitDwarfLocDirective ( unsigned  FileNo,
unsigned  Line,
unsigned  Column,
unsigned  Flags,
unsigned  Isa,
unsigned  Discriminator,
StringRef  FileName 
) [virtual]

EmitDwarfLocDirective - This implements the DWARF2.

Reimplemented in llvm::MCObjectStreamer.

Definition at line 150 of file MCStreamer.cpp.

References getContext(), and llvm::MCContext::setCurrentDwarfLoc().

void MCStreamer::EmitEHSymAttributes ( const MCSymbol Symbol,
MCSymbol EHSymbol 
) [virtual]

Definition at line 181 of file MCStreamer.cpp.

void MCStreamer::EmitELFSize ( MCSymbol Symbol,
const MCExpr Value 
) [virtual]

EmitELFSize - Emit an ELF .size directive.

This corresponds to an assembler statement such as: .size symbol, expression

Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 626 of file MCStreamer.cpp.

Referenced by llvm::AsmPrinter::EmitFunctionBody(), llvm::AsmPrinter::EmitGlobalVariable(), and llvm::TargetLoweringObjectFileELF::emitPersonalityValue().

void MCStreamer::EmitFileDirective ( StringRef  Filename) [virtual]

EmitFileDirective - Switch to a new logical file. This is used to implement the '.file "foo.c"' assembler directive.

Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 623 of file MCStreamer.cpp.

Referenced by llvm::AsmPrinter::doInitialization().

void MCStreamer::EmitFill ( uint64_t  NumBytes,
uint8_t  FillValue 
) [virtual]

EmitFill - Emit NumBytes bytes worth of the value specified by FillValue. This implements directives such as '.space'.

Reimplemented in llvm::MCObjectStreamer.

Definition at line 133 of file MCStreamer.cpp.

References llvm::MCConstantExpr::Create(), EmitValue(), and getContext().

Referenced by EmitGenDwarfRanges(), emitGlobalConstantArray(), emitGlobalConstantDataSequential(), EmitZeros(), and llvm::WinCodeViewLineTables::endModule().

void MCStreamer::EmitGPRel32Value ( const MCExpr Value) [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 in llvm::MCObjectStreamer.

Definition at line 127 of file MCStreamer.cpp.

References llvm::report_fatal_error().

void MCStreamer::EmitGPRel64Value ( const MCExpr Value) [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 in llvm::MCObjectStreamer.

Definition at line 123 of file MCStreamer.cpp.

References llvm::report_fatal_error().

virtual void llvm::MCStreamer::EmitIdent ( StringRef  IdentString) [inline, virtual]

Emit the "identifiers" directive. This implements the '.ident "version foo"' assembler directive.

Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 642 of file MCStreamer.h.

void MCStreamer::EmitInstruction ( const MCInst Inst,
const MCSubtargetInfo STI 
) [virtual]
void MCStreamer::EmitIntValue ( uint64_t  Value,
unsigned  Size 
) [virtual]
void MCStreamer::EmitLabel ( MCSymbol Symbol) [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 in llvm::MCObjectStreamer, llvm::MCELFStreamer, llvm::MCWinCOFFStreamer, and llvm::RecordStreamer.

Definition at line 200 of file MCStreamer.cpp.

References AssignSection(), llvm::MCTargetStreamer::emitLabel(), getCurrentSection(), getTargetStreamer(), and llvm::MCSymbol::isVariable().

Referenced by llvm::Win64Exception::beginFunction(), llvm::DwarfCFIException::beginFunction(), llvm::ARMException::beginFunction(), llvm::AsmPrinter::doFinalization(), llvm::DwarfStringPool::emit(), llvm::MCDwarfLineTableHeader::Emit(), llvm::MCDwarfDwoLineTable::Emit(), llvm::MCGenDwarfInfo::Emit(), llvm::AsmPrinter::EmitBasicBlockStart(), EmitCamlGlobal(), llvm::AsmPrinter::EmitConstantPool(), llvm::SystemZAsmPrinter::EmitEndOfAsmFile(), llvm::AMDGPUAsmPrinter::EmitEndOfAsmFile(), llvm::ARMAsmPrinter::EmitEndOfAsmFile(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), llvm::ConstantPool::emitEntries(), llvm::EHStreamer::emitExceptionTable(), llvm::AsmPrinter::EmitFunctionBody(), llvm::ARMAsmPrinter::EmitFunctionEntryLabel(), llvm::MipsAsmPrinter::EmitFunctionEntryLabel(), llvm::AsmPrinter::EmitFunctionEntryLabel(), llvm::AsmPrinter::EmitFunctionHeader(), EmitGenDwarfInfo(), llvm::AsmPrinter::EmitGlobalVariable(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::X86AsmPrinter::EmitInstruction(), llvm::MipsAsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitJump2Table(), llvm::ARMAsmPrinter::EmitJumpTable(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::ARMAsmPrinter::EmitMachineConstantPoolValue(), llvm::TargetLoweringObjectFileMachO::emitModuleFlags(), emitNonLazySymbolPointer(), llvm::TargetLoweringObjectFileELF::emitPersonalityValue(), emitSectionSym(), llvm::DwarfFile::emitUnits(), llvm::EmitUnwindInfo(), EmitWinCFIAllocStack(), EmitWinCFIEndChained(), EmitWinCFIEndProc(), EmitWinCFIEndProlog(), EmitWinCFIPushFrame(), EmitWinCFIPushReg(), EmitWinCFISaveReg(), EmitWinCFISaveXMM(), EmitWinCFISetFrame(), EmitWinCFIStartChained(), EmitWinCFIStartProc(), llvm::Win64Exception::endFunction(), llvm::DwarfCFIException::endFunction(), llvm::ARMException::endFunction(), llvm::WinCodeViewLineTables::endFunction(), llvm::MCContext::finalizeDwarfSections(), llvm::MCAsmInfo::getExprForFDESymbol(), llvm::AArch64MCAsmInfoDarwin::getExprForPersonalitySymbol(), llvm::AArch64_MachoTargetObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFile::getTTypeReference(), llvm::MCGenDwarfLabelEntry::Make(), and llvm::StackMaps::serializeToStackMapSection().

virtual void llvm::MCStreamer::EmitLinkerOptions ( ArrayRef< std::string >  Kind) [inline, virtual]

EmitLinkerOptions - Emit the given list Options of strings as linker options into the output.

Definition at line 398 of file MCStreamer.h.

Referenced by llvm::TargetLoweringObjectFileMachO::emitModuleFlags().

void MCStreamer::EmitLocalCommonSymbol ( MCSymbol Symbol,
uint64_t  Size,
unsigned  ByteAlignment 
) [virtual]

EmitLocalCommonSymbol - Emit a local common (.lcomm) symbol.

Parameters:
Symbol- The common symbol to emit.
Size- The size of the common symbol.
ByteAlignment- The alignment of the common symbol in bytes.

Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 627 of file MCStreamer.cpp.

Referenced by llvm::AsmPrinter::EmitGlobalVariable().

virtual void llvm::MCStreamer::EmitLOHDirective ( MCLOHType  Kind,
const MCLOHArgs Args 
) [inline, virtual]

Emit a Linker Optimization Hint (LOH) directive.

Parameters:
Args- Arguments of the LOH.

Definition at line 480 of file MCStreamer.h.

void MCStreamer::emitRawComment ( const Twine T,
bool  TabPrefix = true 
) [virtual]

Print T and prefix it with the comment string (normally #) and optionally a tab. This prints the comment immediately, not at the end of the current line. It is basically a safe version of EmitRawText: since it only prints comments, the object streamer ignores it instead of asserting.

Definition at line 66 of file MCStreamer.cpp.

Referenced by llvm::AsmPrinter::EmitBasicBlockStart(), emitDebugValueComment(), llvm::X86AsmPrinter::EmitInstruction(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().

void MCStreamer::EmitRawText ( const Twine String)

EmitRawText - If this file is backed by a assembly streamer, this dumps the specified string in the output .s file. This capability is indicated by the hasRawTextSupport() predicate. By default this aborts.

Definition at line 553 of file MCStreamer.cpp.

References EmitRawTextImpl(), and llvm::Twine::toStringRef().

void MCStreamer::EmitRawTextImpl ( StringRef  String) [protected, virtual]

EmitRawText - If this file is backed by an assembly streamer, this dumps the specified string in the output .s file. This capability is indicated by the hasRawTextSupport() predicate.

Definition at line 547 of file MCStreamer.cpp.

References llvm::errs().

Referenced by EmitRawText().

void MCStreamer::EmitSLEB128IntValue ( int64_t  Value)

EmitSLEB128Value - Special case of EmitSLEB128Value that avoids the client having to pass in a MCExpr for constant integers.

Definition at line 100 of file MCStreamer.cpp.

References EmitBytes(), llvm::encodeSLEB128(), and llvm::raw_svector_ostream::str().

Referenced by llvm::AsmPrinter::EmitSLEB128(), and llvm::MCObjectStreamer::EmitSLEB128Value().

void MCStreamer::EmitSLEB128Value ( const MCExpr Value) [virtual]

Reimplemented in llvm::MCObjectStreamer.

Definition at line 639 of file MCStreamer.cpp.

virtual bool llvm::MCStreamer::EmitSymbolAttribute ( MCSymbol Symbol,
MCSymbolAttr  Attribute 
) [pure virtual]
void MCStreamer::EmitSymbolDesc ( MCSymbol Symbol,
unsigned  DescValue 
) [virtual]

EmitSymbolDesc - Set the DescValue for the Symbol.

Parameters:
Symbol- The symbol to have its n_desc field set.
DescValue- The value to set into the n_desc field.

Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 620 of file MCStreamer.cpp.

void MCStreamer::EmitSymbolValue ( const MCSymbol Sym,
unsigned  Size,
bool  IsSectionRelative = false 
)
void MCStreamer::EmitTBSSSymbol ( const MCSection Section,
MCSymbol Symbol,
uint64_t  Size,
unsigned  ByteAlignment = 0 
) [virtual]

EmitTBSSSymbol - Emit a thread local bss (.tbss) symbol.

Parameters:
Section- The thread local common section.
Symbol- The thread local common symbol to emit.
Size- The size of the symbol.
ByteAlignment- The alignment of the thread local common symbol if non-zero. This must be a power of 2 on some targets.

Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 629 of file MCStreamer.cpp.

Referenced by llvm::AsmPrinter::EmitGlobalVariable().

void MCStreamer::EmitThumbFunc ( MCSymbol Func) [virtual]

EmitThumbFunc - Note in the output that the specified Func is a Thumb mode function (ARM target only).

Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 619 of file MCStreamer.cpp.

Referenced by llvm::AsmPrinter::doFinalization(), and llvm::ARMAsmPrinter::EmitFunctionEntryLabel().

void MCStreamer::EmitULEB128IntValue ( uint64_t  Value,
unsigned  Padding = 0 
)

EmitULEB128Value - Special case of EmitULEB128Value that avoids the client having to pass in a MCExpr for constant integers.

Definition at line 91 of file MCStreamer.cpp.

References EmitBytes(), llvm::encodeULEB128(), and llvm::raw_svector_ostream::str().

Referenced by llvm::MCDwarfLineTableHeader::Emit(), EmitAbbrev(), EmitDwarfLineTable(), emitDwarfSetLineAddr(), EmitGenDwarfAbbrev(), EmitGenDwarfInfo(), llvm::AsmPrinter::EmitULEB128(), and llvm::MCObjectStreamer::EmitULEB128Value().

void MCStreamer::EmitULEB128Value ( const MCExpr Value) [virtual]

Reimplemented in llvm::MCObjectStreamer.

Definition at line 638 of file MCStreamer.cpp.

void MCStreamer::EmitValue ( const MCExpr Value,
unsigned  Size,
const SMLoc Loc = SMLoc() 
)
void MCStreamer::EmitValueImpl ( const MCExpr Value,
unsigned  Size,
const SMLoc Loc = SMLoc() 
) [virtual]

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.

Parameters:
Value- The value to emit.
Size- The size of the integer (in bytes) to emit. This must match a native machine width.
Loc- The location of the expression for error reporting.

Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.

Definition at line 634 of file MCStreamer.cpp.

References visitUsedExpr().

Referenced by llvm::MipsTargetELFStreamer::emitDirectiveEnd(), EmitSymbolValue(), and EmitValue().

void MCStreamer::EmitValueToAlignment ( unsigned  ByteAlignment,
int64_t  Value = 0,
unsigned  ValueSize = 1,
unsigned  MaxBytesToEmit = 0 
) [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.

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

Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.

Definition at line 640 of file MCStreamer.cpp.

Referenced by llvm::AsmPrinter::EmitAlignment(), llvm::TargetLoweringObjectFileELF::emitPersonalityValue(), llvm::EmitRuntimeFunction(), and llvm::EmitUnwindInfo().

bool MCStreamer::EmitValueToOffset ( const MCExpr Offset,
unsigned char  Value = 0 
) [virtual]

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.

Parameters:
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.
Returns:
false on success, true if the offset was invalid.

Reimplemented in llvm::MCObjectStreamer.

Definition at line 645 of file MCStreamer.cpp.

virtual void llvm::MCStreamer::EmitVersionMin ( MCVersionMinType  ,
unsigned  Major,
unsigned  Minor,
unsigned  Update 
) [inline, virtual]

EmitVersionMin - Specify the MachO minimum deployment target version.

Definition at line 404 of file MCStreamer.h.

Referenced by llvm::AsmPrinter::doInitialization().

void MCStreamer::EmitWeakReference ( MCSymbol Alias,
const MCSymbol Symbol 
) [virtual]

EmitWeakReference - Emit an weak reference from Alias to Symbol.

This corresponds to an assembler statement such as: .weakref alias, symbol

Parameters:
Alias- The alias that is being created.
Symbol- The symbol being aliased.

Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.

Definition at line 632 of file MCStreamer.cpp.

void MCStreamer::EmitWinCFIAllocStack ( unsigned  Size) [virtual]
void MCStreamer::EmitWinCFIEndProc ( ) [virtual]
void MCStreamer::EmitWinCFIEndProlog ( ) [virtual]
void MCStreamer::EmitWinCFIPushFrame ( bool  Code) [virtual]
void MCStreamer::EmitWinCFIPushReg ( unsigned  Register) [virtual]
void MCStreamer::EmitWinCFISaveReg ( unsigned  Register,
unsigned  Offset 
) [virtual]
void MCStreamer::EmitWinCFISaveXMM ( unsigned  Register,
unsigned  Offset 
) [virtual]
void MCStreamer::EmitWinCFISetFrame ( unsigned  Register,
unsigned  Offset 
) [virtual]
void MCStreamer::EmitWinCFIStartProc ( const MCSymbol Symbol) [virtual]
void MCStreamer::EmitWindowsUnwindTables ( ) [protected, virtual]

Definition at line 558 of file MCStreamer.cpp.

void MCStreamer::EmitWinEHHandler ( const MCSymbol Sym,
bool  Unwind,
bool  Except 
) [virtual]
virtual void llvm::MCStreamer::EmitZerofill ( const MCSection Section,
MCSymbol Symbol = nullptr,
uint64_t  Size = 0,
unsigned  ByteAlignment = 0 
) [pure 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.

Implemented in llvm::MCELFStreamer, llvm::MCWinCOFFStreamer, and llvm::RecordStreamer.

Referenced by llvm::AsmPrinter::EmitGlobalVariable().

void MCStreamer::EmitZeros ( uint64_t  NumBytes) [virtual]

Emit NumBytes worth of zeros. This function properly handles data in virtual sections.

The implementation in this class just redirects to EmitFill.

Reimplemented in llvm::MCObjectStreamer.

Definition at line 140 of file MCStreamer.cpp.

References EmitFill().

Referenced by llvm::AsmPrinter::EmitConstantPool(), emitGlobalConstantDataSequential(), emitGlobalConstantFP(), emitGlobalConstantImpl(), emitGlobalConstantStruct(), and emitGlobalConstantVector().

void MCStreamer::EndCOFFSymbolDef ( ) [virtual]

EndCOFFSymbolDef - Marks the end of the symbol definition.

Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 622 of file MCStreamer.cpp.

Referenced by llvm::X86AsmPrinter::EmitStartOfAsmFile(), llvm::ARMAsmPrinter::runOnMachineFunction(), and llvm::X86AsmPrinter::runOnMachineFunction().

Finish - Finish emission of machine code.

Definition at line 561 of file MCStreamer.cpp.

References llvm::MCTargetStreamer::finish(), FinishImpl(), getTargetStreamer(), and llvm::report_fatal_error().

Referenced by llvm::AsmPrinter::doFinalization().

void MCStreamer::FinishImpl ( ) [virtual]

FinishImpl - Streamer specific finalization.

Reimplemented in llvm::MCObjectStreamer, llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 650 of file MCStreamer.cpp.

Referenced by Finish().

virtual void llvm::MCStreamer::Flush ( ) [inline, virtual]

Flush - Causes any cached state to be written out.

Reimplemented in llvm::MCELFStreamer.

Definition at line 719 of file MCStreamer.h.

Referenced by llvm::AsmPrinter::doFinalization().

GetCommentOS - Return a raw_ostream that comments can be written to. Unlike AddComment, you are required to terminate comments with
if you use this method.

Definition at line 61 of file MCStreamer.cpp.

References llvm::nulls().

Referenced by emitBasicBlockLoopComments(), llvm::AsmPrinter::EmitFunctionBody(), llvm::AsmPrinter::EmitFunctionHeader(), emitGlobalConstantDataSequential(), emitGlobalConstantFP(), emitGlobalConstantImpl(), and llvm::AsmPrinter::EmitGlobalVariable().

Definition at line 224 of file MCStreamer.h.

Referenced by llvm::AssemblerConstantPools::addEntry(), buildSymbolDiff(), llvm::DwarfDebug::DwarfDebug(), llvm::Win64EH::UnwindEmitter::Emit(), llvm::MCDwarfLineTableHeader::Emit(), llvm::MCDwarfLineTable::Emit(), llvm::MCDwarfLineAddr::Emit(), llvm::MCGenDwarfInfo::Emit(), llvm::MCDwarfFrameEmitter::Emit(), llvm::EmitAbsDifference(), llvm::MCDwarfFrameEmitter::EmitAdvanceLoc(), llvm::MCWinCOFFStreamer::EmitCOFFSecRel32(), llvm::MCWinCOFFStreamer::EmitCOFFSectionIndex(), llvm::MCELFStreamer::EmitCommonSymbol(), llvm::MCDwarfLineTable::EmitCU(), EmitDwarfFileDirective(), EmitDwarfLineTable(), EmitDwarfLocDirective(), emitFDESymbol(), EmitFill(), EmitGenDwarfAbbrev(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), EmitGenDwarfRanges(), llvm::MipsELFStreamer::EmitInstruction(), llvm::EmitLabelDiff(), llvm::MCWinCOFFStreamer::EmitLocalCommonSymbol(), emitNonLazySymbolPointer(), EmitPersonality(), llvm::EmitRuntimeFunction(), llvm::EmitSymbolRefWithOfs(), EmitSymbolValue(), llvm::Win64EH::UnwindEmitter::EmitUnwindInfo(), llvm::EmitUnwindInfo(), llvm::MCObjectStreamer::EmitValueToOffset(), llvm::MCELFStreamer::EmitWeakReference(), EmitWinCFIAllocStack(), EmitWinCFIEndChained(), EmitWinCFIEndProc(), EmitWinCFIEndProlog(), EmitWinCFIPushFrame(), EmitWinCFIPushReg(), EmitWinCFISaveReg(), EmitWinCFISaveXMM(), EmitWinCFISetFrame(), EmitWinCFIStartChained(), EmitWinCFIStartProc(), llvm::WinCodeViewLineTables::endFunction(), llvm::MCContext::finalizeDwarfSections(), llvm::MCObjectStreamer::FinishImpl(), forceExpAbs(), getDataAlignmentFactor(), getDwarfLineTableSymbol(), llvm::SparcELFMCAsmInfo::getExprForFDESymbol(), llvm::MCAsmInfo::getExprForFDESymbol(), llvm::AArch64MCAsmInfoDarwin::getExprForPersonalitySymbol(), llvm::SparcELFMCAsmInfo::getExprForPersonalitySymbol(), llvm::X86_64MCAsmInfoDarwin::getExprForPersonalitySymbol(), getSizeForEncoding(), llvm::MCWinCOFFStreamer::InitSections(), llvm::MCELFStreamer::InitSections(), InitSections(), llvm::MCLineEntry::Make(), llvm::MCGenDwarfLabelEntry::Make(), MakeStartMinusEndExpr(), and llvm::StackMaps::serializeToStackMapSection().

Definition at line 202 of file MCStreamer.h.

Definition at line 231 of file MCStreamer.h.

Referenced by llvm::MCDwarfFrameEmitter::Emit().

Definition at line 230 of file MCStreamer.h.

Referenced by llvm::MCObjectStreamer::EmitFrames().

Definition at line 235 of file MCStreamer.h.

Referenced by reset(), and ~MCStreamer().

getPreviousSection - Return the previous section that the streamer is emitting code to.

Definition at line 295 of file MCStreamer.h.

References llvm::SmallVectorTemplateCommon< T, typename >::back(), and llvm::SmallVectorBase::empty().

Referenced by PushSection().

GetSymbolOrder - Returns an index to represent the order a symbol was emitted in. (zero if we did not emit that symbol)

Definition at line 303 of file MCStreamer.h.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::lookup().

Definition at line 226 of file MCStreamer.h.

Referenced by EmitAssignment(), EmitLabel(), and Finish().

Definition at line 236 of file MCStreamer.h.

Referenced by llvm::Win64EH::UnwindEmitter::Emit().

virtual bool llvm::MCStreamer::hasRawTextSupport ( ) const [inline, virtual]

hasRawTextSupport - Return true if this asm streamer supports emitting unformatted text to the .s file with EmitRawText.

Definition at line 251 of file MCStreamer.h.

Referenced by llvm::DwarfCompileUnit::getOrCreateSourceID().

void MCStreamer::InitSections ( ) [virtual]

Create the default sections and set the initial one.

Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.

Definition at line 185 of file MCStreamer.cpp.

References getContext(), and SwitchSection().

Referenced by llvm::AsmPrinter::doInitialization().

virtual bool llvm::MCStreamer::isIntegratedAssemblerRequired ( ) const [inline, virtual]

Is the integrated assembler required for this streamer to function correctly?

Reimplemented in llvm::MCObjectStreamer.

Definition at line 255 of file MCStreamer.h.

virtual bool llvm::MCStreamer::isVerboseAsm ( ) const [inline, virtual]

isVerboseAsm - Return true if this streamer supports verbose assembly and if it is enabled.

Definition at line 247 of file MCStreamer.h.

Referenced by llvm::AsmPrinter::AsmPrinter(), llvm::EHStreamer::emitExceptionTable(), and llvm::EHStreamer::emitTypeInfos().

virtual bool llvm::MCStreamer::mayHaveInstructions ( ) const [inline, virtual]

Reimplemented in llvm::MCObjectStreamer.

Definition at line 726 of file MCStreamer.h.

Referenced by llvm::MCContext::finalizeDwarfSections().

void llvm::MCStreamer::PushSection ( ) [inline]
void MCStreamer::reset ( ) [virtual]

Definition at line 216 of file MCStreamer.h.

Referenced by llvm::MCTargetStreamer::MCTargetStreamer().

bool llvm::MCStreamer::SubSection ( const MCExpr Subsection) [inline]
void llvm::MCStreamer::SwitchSection ( const MCSection Section,
const MCExpr Subsection = nullptr 
) [inline]

SwitchSection - Set the current section where code is being emitted to Section. This is required to update CurSection.

This corresponds to assembler directives like .section, .text, etc.

Definition at line 347 of file MCStreamer.h.

References llvm::SmallVectorTemplateCommon< T, typename >::back(), and ChangeSection().

Referenced by llvm::AsmPrinter::doFinalization(), llvm::DwarfStringPool::emit(), llvm::AddressPool::emit(), llvm::Win64EH::UnwindEmitter::Emit(), llvm::MCDwarfLineTable::Emit(), llvm::MCGenDwarfInfo::Emit(), llvm::MCDwarfFrameEmitter::Emit(), llvm::DwarfFile::emitAbbrevs(), emitConstantPool(), llvm::AsmPrinter::EmitConstantPool(), llvm::MipsTargetELFStreamer::emitDirectiveEnd(), EmitDwarfLineTable(), llvm::SystemZAsmPrinter::EmitEndOfAsmFile(), llvm::AMDGPUAsmPrinter::EmitEndOfAsmFile(), llvm::ARMAsmPrinter::EmitEndOfAsmFile(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), llvm::MipsAsmPrinter::EmitEndOfAsmFile(), llvm::EHStreamer::emitExceptionTable(), llvm::AsmPrinter::EmitFunctionHeader(), EmitGenDwarfAbbrev(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), EmitGenDwarfRanges(), llvm::AsmPrinter::EmitGlobalVariable(), llvm::MCELFStreamer::EmitIdent(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::MipsTargetELFStreamer::emitMipsAbiFlags(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), llvm::TargetLoweringObjectFileMachO::emitModuleFlags(), llvm::TargetLoweringObjectFileCOFF::emitModuleFlags(), llvm::TargetLoweringObjectFileELF::emitPersonalityValue(), emitSectionSym(), llvm::ARMAsmPrinter::EmitStartOfAsmFile(), llvm::X86AsmPrinter::EmitStartOfAsmFile(), llvm::MipsAsmPrinter::EmitStartOfAsmFile(), llvm::DwarfFile::emitUnits(), llvm::Win64EH::UnwindEmitter::EmitUnwindInfo(), llvm::WinCodeViewLineTables::endModule(), llvm::MCContext::finalizeDwarfSections(), llvm::MCWinCOFFStreamer::InitSections(), llvm::MCELFStreamer::InitSections(), InitSections(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::StackMaps::serializeToStackMapSection(), and SubSection().

void llvm::MCStreamer::SwitchSectionNoChange ( const MCSection Section,
const MCExpr Subsection = nullptr 
) [inline]

SwitchSectionNoChange - Set the current section where code is being emitted to Section. This is required to update CurSection. This version does not call ChangeSection.

Definition at line 361 of file MCStreamer.h.

References llvm::SmallVectorTemplateCommon< T, typename >::back().

void MCStreamer::visitUsedSymbol ( const MCSymbol Sym) [virtual]

Reimplemented in llvm::MCObjectStreamer.

Definition at line 581 of file MCStreamer.cpp.

Referenced by visitUsedExpr().


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