class MCStreamer
Declaration
class MCStreamer { /* full declaration omitted */ };
Description
Streaming machine code generation interface. This interface is intended to provide a programmatic 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.
Declared at: llvm/include/llvm/MC/MCStreamer.h:212
Member Variables
- private llvm::MCContext& Context
- private std::unique_ptr<MCTargetStreamer> TargetStreamer
- private std::vector<MCDwarfFrameInfo> DwarfFrameInfos
- private std::vector<std::unique_ptr<WinEH::FrameInfo>> WinFrameInfos
- Similar to DwarfFrameInfos, but for SEH unwind info. Chained frames may refer to each other, so use std::unique_ptr to provide pointer stability.
- private WinEH::FrameInfo* CurrentWinFrameInfo
- private size_t CurrentProcWinFrameInfoStartIndex
- private DenseMap<const llvm::MCSymbol*, unsigned int> SymbolOrdering
- Tracks an index to represent the order a symbol was emitted in. Zero means we did not emit that symbol.
- private SmallVector< std::pair<MCSectionSubPair, MCSectionSubPair>, 4> SectionStack
- This is stack of current and previous section values saved by pushSection.
- private const llvm::SMLoc* StartTokLocPtr = nullptr
- Pointer to the parser's SMLoc if available. This is used to provide locations for diagnostics.
- private unsigned int NextWinCFIID = 0
- The next unique ID to use when creating a WinCFI-related section (.pdata or .xdata). This ID ensures that we have a one-to-one mapping from code section to unwind info section, which MSVC's incremental linker requires.
- private bool UseAssemblerInfoForParsing
- private bool AllowAutoPadding = false
- Is the assembler allowed to insert padding automatically? For correctness reasons, we sometimes need to ensure instructions aren't separated in unexpected ways. At the moment, this feature is only useable from an integrated assembler, but assembly syntax is under discussion for future inclusion.
Method Overview
- public virtual void AddComment(const llvm::Twine & T, bool EOL = true)
- public WinEH::FrameInfo * EnsureValidWinFrameInfo(llvm::SMLoc Loc)
- protected MCStreamer(llvm::MCContext & Ctx)
- public MCStreamer(const llvm::MCStreamer &)
- public virtual void addBlankLine()
- public virtual void addExplicitComment(const llvm::Twine & T)
- public void assignFragment(llvm::MCSymbol * Symbol, llvm::MCFragment * Fragment)
- public virtual void beginCOFFSymbolDef(const llvm::MCSymbol * Symbol)
- public virtual void changeSection(llvm::MCSection *, const llvm::MCExpr *)
- protected bool checkCVLocSection(unsigned int FuncId, unsigned int FileNo, llvm::SMLoc Loc)
- public virtual void doFinalizationAtSectionEnd(llvm::MCSection * Section)
- public virtual void emitAbsoluteSymbolDiff(const llvm::MCSymbol * Hi, const llvm::MCSymbol * Lo, unsigned int Size)
- public virtual void emitAbsoluteSymbolDiffAsULEB128(const llvm::MCSymbol * Hi, const llvm::MCSymbol * Lo)
- public virtual void emitAddrsig()
- public virtual void emitAddrsigSym(const llvm::MCSymbol * Sym)
- public virtual void emitAssemblerFlag(llvm::MCAssemblerFlag Flag)
- public virtual void emitAssignment(llvm::MCSymbol * Symbol, const llvm::MCExpr * Value)
- public virtual void emitBinaryData(llvm::StringRef Data)
- public virtual void emitBuildVersion(unsigned int Platform, unsigned int Major, unsigned int Minor, unsigned int Update, llvm::VersionTuple SDKVersion)
- public virtual void emitBundleAlignMode(unsigned int AlignPow2)
- public virtual void emitBundleLock(bool AlignToEnd)
- public virtual void emitBundleUnlock()
- public virtual void emitBytes(llvm::StringRef Data)
- public virtual void emitCFIAdjustCfaOffset(int64_t Adjustment)
- public virtual void emitCFIBKeyFrame()
- public virtual void emitCFIDefCfa(int64_t Register, int64_t Offset)
- public virtual void emitCFIDefCfaOffset(int64_t Offset)
- public virtual void emitCFIDefCfaRegister(int64_t Register)
- public void emitCFIEndProc()
- protected virtual void emitCFIEndProcImpl(llvm::MCDwarfFrameInfo & CurFrame)
- public virtual void emitCFIEscape(llvm::StringRef Values)
- public virtual void emitCFIGnuArgsSize(int64_t Size)
- public virtual void emitCFILLVMDefAspaceCfa(int64_t Register, int64_t Offset, int64_t AddressSpace)
- public virtual llvm::MCSymbol * emitCFILabel()
- public virtual void emitCFILsda(const llvm::MCSymbol * Sym, unsigned int Encoding)
- public virtual void emitCFIMTETaggedFrame()
- public virtual void emitCFINegateRAState()
- public virtual void emitCFIOffset(int64_t Register, int64_t Offset)
- public virtual void emitCFIPersonality(const llvm::MCSymbol * Sym, unsigned int Encoding)
- public virtual void emitCFIRegister(int64_t Register1, int64_t Register2)
- public virtual void emitCFIRelOffset(int64_t Register, int64_t Offset)
- public virtual void emitCFIRememberState()
- public virtual void emitCFIRestore(int64_t Register)
- public virtual void emitCFIRestoreState()
- public virtual void emitCFIReturnColumn(int64_t Register)
- public virtual void emitCFISameValue(int64_t Register)
- public virtual void emitCFISections(bool EH, bool Debug)
- public virtual void emitCFISignalFrame()
- public void emitCFIStartProc(bool IsSimple, llvm::SMLoc Loc = llvm::SMLoc())
- protected virtual void emitCFIStartProcImpl(llvm::MCDwarfFrameInfo & Frame)
- public virtual void emitCFIUndefined(int64_t Register)
- public virtual void emitCFIWindowSave()
- public virtual void emitCGProfileEntry(const llvm::MCSymbolRefExpr * From, const llvm::MCSymbolRefExpr * To, uint64_t Count)
- public virtual void emitCOFFImgRel32(const llvm::MCSymbol * Symbol, int64_t Offset)
- public virtual void emitCOFFSafeSEH(const llvm::MCSymbol * Symbol)
- public virtual void emitCOFFSecRel32(const llvm::MCSymbol * Symbol, uint64_t Offset)
- public virtual void emitCOFFSectionIndex(const llvm::MCSymbol * Symbol)
- public virtual void emitCOFFSymbolIndex(const llvm::MCSymbol * Symbol)
- public virtual void emitCOFFSymbolStorageClass(int StorageClass)
- public virtual void emitCOFFSymbolType(int Type)
- public virtual void emitCVDefRangeDirective(ArrayRef<std::pair<const MCSymbol *, const MCSymbol *>> Ranges, codeview::DefRangeFramePointerRelHeader DRHdr)
- public virtual void emitCVDefRangeDirective(ArrayRef<std::pair<const MCSymbol *, const MCSymbol *>> Ranges, codeview::DefRangeRegisterHeader DRHdr)
- public virtual void emitCVDefRangeDirective(ArrayRef<std::pair<const MCSymbol *, const MCSymbol *>> Ranges, codeview::DefRangeSubfieldRegisterHeader DRHdr)
- public virtual void emitCVDefRangeDirective(ArrayRef<std::pair<const MCSymbol *, const MCSymbol *>> Ranges, codeview::DefRangeRegisterRelHeader DRHdr)
- public virtual void emitCVDefRangeDirective(ArrayRef<std::pair<const MCSymbol *, const MCSymbol *>> Ranges, llvm::StringRef FixedSizePortion)
- public virtual void emitCVFPOData(const llvm::MCSymbol * ProcSym, llvm::SMLoc Loc = {})
- public virtual void emitCVFileChecksumOffsetDirective(unsigned int FileNo)
- public virtual void emitCVFileChecksumsDirective()
- public virtual bool emitCVFileDirective(unsigned int FileNo, llvm::StringRef Filename, ArrayRef<uint8_t> Checksum, unsigned int ChecksumKind)
- public virtual bool emitCVFuncIdDirective(unsigned int FunctionId)
- public virtual void emitCVInlineLinetableDirective(unsigned int PrimaryFunctionId, unsigned int SourceFileId, unsigned int SourceLineNum, const llvm::MCSymbol * FnStartSym, const llvm::MCSymbol * FnEndSym)
- public virtual bool emitCVInlineSiteIdDirective(unsigned int FunctionId, unsigned int IAFunc, unsigned int IAFile, unsigned int IALine, unsigned int IACol, llvm::SMLoc Loc)
- public virtual void emitCVLinetableDirective(unsigned int FunctionId, const llvm::MCSymbol * FnStart, const llvm::MCSymbol * FnEnd)
- public virtual void emitCVLocDirective(unsigned int FunctionId, unsigned int FileNo, unsigned int Line, unsigned int Column, bool PrologueEnd, bool IsStmt, llvm::StringRef FileName, llvm::SMLoc Loc)
- public virtual void emitCVStringTableDirective()
- public virtual void emitCodeAlignment(unsigned int ByteAlignment, const llvm::MCSubtargetInfo * STI, unsigned int MaxBytesToEmit = 0)
- public virtual void emitCommonSymbol(llvm::MCSymbol * Symbol, uint64_t Size, unsigned int ByteAlignment)
- public virtual void emitConditionalAssignment(llvm::MCSymbol * Symbol, const llvm::MCExpr * Value)
- public virtual void emitDTPRel32Value(const llvm::MCExpr * Value)
- public virtual void emitDTPRel64Value(const llvm::MCExpr * Value)
- public virtual void emitDarwinTargetVariantBuildVersion(unsigned int Platform, unsigned int Major, unsigned int Minor, unsigned int Update, llvm::VersionTuple SDKVersion)
- public virtual void emitDataRegion(llvm::MCDataRegionType Kind)
- public virtual void emitDwarfAdvanceLineAddr(int64_t LineDelta, const llvm::MCSymbol * LastLabel, const llvm::MCSymbol * Label, unsigned int PointerSize)
- public virtual void emitDwarfFile0Directive(llvm::StringRef Directory, llvm::StringRef Filename, Optional<MD5::MD5Result> Checksum, Optional<llvm::StringRef> Source, unsigned int CUID = 0)
- public unsigned int emitDwarfFileDirective(unsigned int FileNo, llvm::StringRef Directory, llvm::StringRef Filename, Optional<MD5::MD5Result> Checksum = None, Optional<llvm::StringRef> Source = None, unsigned int CUID = 0)
- public virtual void emitDwarfLineEndEntry(llvm::MCSection * Section, llvm::MCSymbol * LastLabel)
- public virtual void emitDwarfLineStartLabel(llvm::MCSymbol * StartSym)
- public virtual void emitDwarfLocDirective(unsigned int FileNo, unsigned int Line, unsigned int Column, unsigned int Flags, unsigned int Isa, unsigned int Discriminator, llvm::StringRef FileName)
- public virtual llvm::MCSymbol * emitDwarfUnitLength(const llvm::Twine & Prefix, const llvm::Twine & Comment)
- public virtual void emitDwarfUnitLength(uint64_t Length, const llvm::Twine & Comment)
- public virtual void emitEHSymAttributes(const llvm::MCSymbol * Symbol, llvm::MCSymbol * EHSymbol)
- public virtual void emitELFSize(llvm::MCSymbol * Symbol, const llvm::MCExpr * Value)
- public virtual void emitELFSymverDirective(const llvm::MCSymbol * OriginalSym, llvm::StringRef Name, bool KeepOriginalSym)
- public virtual void emitExplicitComments()
- public virtual void emitFileDirective(llvm::StringRef Filename)
- public virtual void emitFileDirective(llvm::StringRef Filename, llvm::StringRef CompilerVerion, llvm::StringRef TimeStamp, llvm::StringRef Description)
- public virtual void emitFill(const llvm::MCExpr & NumBytes, uint64_t FillValue, llvm::SMLoc Loc = llvm::SMLoc())
- public void emitFill(uint64_t NumBytes, uint8_t FillValue)
- public virtual void emitFill(const llvm::MCExpr & NumValues, int64_t Size, int64_t Expr, llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitGNUAttribute(unsigned int Tag, unsigned int Value)
- public virtual void emitGPRel32Value(const llvm::MCExpr * Value)
- public virtual void emitGPRel64Value(const llvm::MCExpr * Value)
- public virtual void emitIdent(llvm::StringRef IdentString)
- public virtual void emitInstruction(const llvm::MCInst & Inst, const llvm::MCSubtargetInfo & STI)
- public void emitInt16(uint64_t Value)
- public void emitInt32(uint64_t Value)
- public void emitInt64(uint64_t Value)
- public void emitInt8(uint64_t Value)
- public virtual void emitIntValue(uint64_t Value, unsigned int Size)
- public virtual void emitIntValue(llvm::APInt Value)
- public virtual void emitIntValueInHex(uint64_t Value, unsigned int Size)
- public virtual void emitIntValueInHexWithPadding(uint64_t Value, unsigned int Size)
- public virtual void emitLOHDirective(llvm::MCLOHType Kind, const llvm::MCLOHArgs & Args)
- public virtual void emitLabel(llvm::MCSymbol * Symbol, llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitLinkerOptions(ArrayRef<std::string> Kind)
- public virtual void emitLocalCommonSymbol(llvm::MCSymbol * Symbol, uint64_t Size, unsigned int ByteAlignment)
- public virtual void emitNops(int64_t NumBytes, int64_t ControlledNopLength, llvm::SMLoc Loc, const llvm::MCSubtargetInfo & STI)
- public virtual void emitPseudoProbe(uint64_t Guid, uint64_t Index, uint64_t Type, uint64_t Attr, const llvm::MCPseudoProbeInlineStack & InlineStack)
- public virtual void emitRawComment(const llvm::Twine & T, bool TabPrefix = true)
- public void emitRawText(const llvm::Twine & String)
- protected virtual void emitRawTextImpl(llvm::StringRef String)
- public virtual Optional<std::pair<bool, std::string>> emitRelocDirective(const llvm::MCExpr & Offset, llvm::StringRef Name, const llvm::MCExpr * Expr, llvm::SMLoc Loc, const llvm::MCSubtargetInfo & STI)
- public void emitSLEB128IntValue(int64_t Value)
- public virtual void emitSLEB128Value(const llvm::MCExpr * Value)
- public virtual bool emitSymbolAttribute(llvm::MCSymbol * Symbol, llvm::MCSymbolAttr Attribute)
- public virtual void emitSymbolDesc(llvm::MCSymbol * Symbol, unsigned int DescValue)
- public void emitSymbolValue(const llvm::MCSymbol * Sym, unsigned int Size, bool IsSectionRelative = false)
- public virtual void emitSyntaxDirective()
- public virtual void emitTBSSSymbol(llvm::MCSection * Section, llvm::MCSymbol * Symbol, uint64_t Size, unsigned int ByteAlignment = 0)
- public virtual void emitTPRel32Value(const llvm::MCExpr * Value)
- public virtual void emitTPRel64Value(const llvm::MCExpr * Value)
- public virtual void emitThumbFunc(llvm::MCSymbol * Func)
- public void emitULEB128IntValue(uint64_t Value, unsigned int PadTo = 0)
- public virtual void emitULEB128Value(const llvm::MCExpr * Value)
- public void emitValue(const llvm::MCExpr * Value, unsigned int Size, llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitValueImpl(const llvm::MCExpr * Value, unsigned int Size, llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitValueToAlignment(unsigned int ByteAlignment, int64_t Value = 0, unsigned int ValueSize = 1, unsigned int MaxBytesToEmit = 0)
- public virtual void emitValueToOffset(const llvm::MCExpr * Offset, unsigned char Value, llvm::SMLoc Loc)
- public void emitVersionForTarget(const llvm::Triple & Target, const llvm::VersionTuple & SDKVersion, const llvm::Triple * DarwinTargetVariantTriple, const llvm::VersionTuple & DarwinTargetVariantSDKVersion)
- public virtual void emitVersionMin(llvm::MCVersionMinType Type, unsigned int Major, unsigned int Minor, unsigned int Update, llvm::VersionTuple SDKVersion)
- public virtual void emitWeakReference(llvm::MCSymbol * Alias, const llvm::MCSymbol * Symbol)
- public virtual void emitWinCFIAllocStack(unsigned int Size, llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinCFIEndChained(llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinCFIEndProc(llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinCFIEndProlog(llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinCFIFuncletOrFuncEnd(llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinCFIPushFrame(bool Code, llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinCFIPushReg(llvm::MCRegister Register, llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinCFISaveReg(llvm::MCRegister Register, unsigned int Offset, llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinCFISaveXMM(llvm::MCRegister Register, unsigned int Offset, llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinCFISetFrame(llvm::MCRegister Register, unsigned int Offset, llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinCFIStartChained(llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinCFIStartProc(const llvm::MCSymbol * Symbol, llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinEHHandler(const llvm::MCSymbol * Sym, bool Unwind, bool Except, llvm::SMLoc Loc = llvm::SMLoc())
- public virtual void emitWinEHHandlerData(llvm::SMLoc Loc = llvm::SMLoc())
- protected virtual void emitWindowsUnwindTables()
- protected virtual void emitWindowsUnwindTables(WinEH::FrameInfo * Frame)
- public virtual void emitXCOFFLocalCommonSymbol(llvm::MCSymbol * LabelSym, uint64_t Size, llvm::MCSymbol * CsectSym, unsigned int ByteAlignment)
- public virtual void emitXCOFFRefDirective(llvm::StringRef Sym)
- public virtual void emitXCOFFRenameDirective(const llvm::MCSymbol * Name, llvm::StringRef Rename)
- public virtual void emitXCOFFSymbolLinkageWithVisibility(llvm::MCSymbol * Symbol, llvm::MCSymbolAttr Linkage, llvm::MCSymbolAttr Visibility)
- public virtual void emitZerofill(llvm::MCSection * Section, llvm::MCSymbol * Symbol = nullptr, uint64_t Size = 0, unsigned int ByteAlignment = 0, llvm::SMLoc Loc = llvm::SMLoc())
- public void emitZeros(uint64_t NumBytes)
- public virtual void endCOFFSymbolDef()
- public llvm::MCSymbol * endSection(llvm::MCSection * Section)
- public void finish(llvm::SMLoc EndLoc = llvm::SMLoc())
- public virtual void finishImpl()
- public void generateCompactUnwindEncodings(llvm::MCAsmBackend * MAB)
- public bool getAllowAutoPadding() const
- public virtual llvm::MCAssembler * getAssemblerPtr()
- public llvm::MCSection * getAssociatedPDataSection(const llvm::MCSection * TextSec)
- public llvm::MCSection * getAssociatedXDataSection(const llvm::MCSection * TextSec)
- public virtual llvm::raw_ostream & getCommentOS()
- public llvm::MCContext & getContext() const
- private llvm::MCDwarfFrameInfo * getCurrentDwarfFrameInfo()
- public llvm::MCSectionSubPair getCurrentSection() const
- public llvm::MCSection * getCurrentSectionOnly() const
- protected WinEH::FrameInfo * getCurrentWinFrameInfo()
- public ArrayRef<llvm::MCDwarfFrameInfo> getDwarfFrameInfos() const
- public virtual llvm::MCSymbol * getDwarfLineTableSymbol(unsigned int CUID)
- public virtual llvm::StringRef getMnemonic(llvm::MCInst & MI)
- public unsigned int getNumFrameInfos()
- public unsigned int getNumWinFrameInfos()
- public llvm::MCSectionSubPair getPreviousSection() const
- public llvm::SMLoc getStartTokLoc() const
- public unsigned int getSymbolOrder(const llvm::MCSymbol * Sym) const
- public llvm::MCTargetStreamer * getTargetStreamer()
- public bool getUseAssemblerInfoForParsing()
- public ArrayRef<std::unique_ptr<WinEH::FrameInfo>> getWinFrameInfos() const
- public virtual bool hasRawTextSupport() const
- public bool hasUnfinishedDwarfFrameInfo()
- public virtual void initSections(bool NoExecStack, const llvm::MCSubtargetInfo & STI)
- public virtual bool isIntegratedAssemblerRequired() const
- public virtual bool isVerboseAsm() const
- public virtual bool mayHaveInstructions(llvm::MCSection & Sec) const
- public void maybeEmitDwarf64Mark()
- public bool popSection()
- public void pushSection()
- public virtual void reset()
- public void setAllowAutoPadding(bool v)
- public void setStartTokLocPtr(const llvm::SMLoc * Loc)
- public void setTargetStreamer(llvm::MCTargetStreamer * TS)
- public void setUseAssemblerInfoForParsing(bool v)
- public bool subSection(const llvm::MCExpr * Subsection)
- public virtual void switchSection(llvm::MCSection * Section, const llvm::MCExpr * Subsection = nullptr)
- public void switchSectionNoChange(llvm::MCSection * Section, const llvm::MCExpr * Subsection = nullptr)
- public virtual Expected<unsigned int> tryEmitDwarfFileDirective(unsigned int FileNo, llvm::StringRef Directory, llvm::StringRef Filename, Optional<MD5::MD5Result> Checksum = None, Optional<llvm::StringRef> Source = None, unsigned int CUID = 0)
- public void visitUsedExpr(const llvm::MCExpr & Expr)
- public virtual void visitUsedSymbol(const llvm::MCSymbol & Sym)
- public virtual ~MCStreamer()
Methods
¶virtual void AddComment(const llvm::Twine& T,
bool EOL = true)
virtual void AddComment(const llvm::Twine& T,
bool EOL = true)
Description
Add a textual comment. Typically for comments that can be emitted to the generated .s file if applicable as a QoI issue to make the output of the compiler more readable. This only affects the MCAsmStreamer, and only when verbose assembly output is enabled. If the comment includes embedded \n's, they will each get the comment prefix as appropriate. The added comment should not end with a \n. By default, each comment is terminated with an end of line, i.e. the EOL param is set to true by default. If one prefers not to end the comment with a new line then the EOL param should be passed with a false value.
Declared at: llvm/include/llvm/MC/MCStreamer.h:355
Parameters
- const llvm::Twine& T
- bool EOL = true
¶WinEH::FrameInfo* EnsureValidWinFrameInfo(
llvm::SMLoc Loc)
WinEH::FrameInfo* EnsureValidWinFrameInfo(
llvm::SMLoc Loc)
Description
Retrieve the current frame info if one is available and it is not yet closed. Otherwise, issue an error and return null.
Declared at: llvm/include/llvm/MC/MCStreamer.h:313
Parameters
- llvm::SMLoc Loc
¶MCStreamer(llvm::MCContext& Ctx)
MCStreamer(llvm::MCContext& Ctx)
Declared at: llvm/include/llvm/MC/MCStreamer.h:254
Parameters
- llvm::MCContext& Ctx
¶MCStreamer(const llvm::MCStreamer&)
MCStreamer(const llvm::MCStreamer&)
Declared at: llvm/include/llvm/MC/MCStreamer.h:273
Parameters
- const llvm::MCStreamer&
¶virtual void addBlankLine()
virtual void addBlankLine()
Description
Emit a blank line to a .s file to pretty it up.
Declared at: llvm/include/llvm/MC/MCStreamer.h:376
¶virtual void addExplicitComment(
const llvm::Twine& T)
virtual void addExplicitComment(
const llvm::Twine& T)
Description
Add explicit comment T. T is required to be a valid comment in the output and does not need to be escaped.
Declared at: llvm/include/llvm/MC/MCStreamer.h:370
Parameters
- const llvm::Twine& T
¶void assignFragment(llvm::MCSymbol* Symbol,
llvm::MCFragment* Fragment)
void assignFragment(llvm::MCSymbol* Symbol,
llvm::MCFragment* Fragment)
Description
Sets the symbol's section. Each emitted symbol will be tracked in the ordering table, so we can sort on them later.
Declared at: llvm/include/llvm/MC/MCStreamer.h:471
Parameters
- llvm::MCSymbol* Symbol
- llvm::MCFragment* Fragment
¶virtual void beginCOFFSymbolDef(
const llvm::MCSymbol* Symbol)
virtual void beginCOFFSymbolDef(
const llvm::MCSymbol* Symbol)
Description
Start emitting COFF symbol definition
Declared at: llvm/include/llvm/MC/MCStreamer.h:566
Parameters
- const llvm::MCSymbol* Symbol
- - The symbol to have its External & Type fields set.
¶virtual void changeSection(llvm::MCSection*,
const llvm::MCExpr*)
virtual void changeSection(llvm::MCSection*,
const llvm::MCExpr*)
Description
Update streamer for a new active section. This is called by popSection and switchSection, if the current section changes.
Declared at: llvm/include/llvm/MC/MCStreamer.h:408
Parameters
- llvm::MCSection*
- const llvm::MCExpr*
¶bool checkCVLocSection(unsigned int FuncId,
unsigned int FileNo,
llvm::SMLoc Loc)
bool checkCVLocSection(unsigned int FuncId,
unsigned int FileNo,
llvm::SMLoc Loc)
Description
Returns true if the the .cv_loc directive is in the right section.
Declared at: llvm/include/llvm/MC/MCStreamer.h:270
Parameters
- unsigned int FuncId
- unsigned int FileNo
- llvm::SMLoc Loc
¶virtual void doFinalizationAtSectionEnd(
llvm::MCSection* Section)
virtual void doFinalizationAtSectionEnd(
llvm::MCSection* Section)
Description
Do finalization for the streamer at the end of a section.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1154
Parameters
- llvm::MCSection* Section
¶virtual void emitAbsoluteSymbolDiff(
const llvm::MCSymbol* Hi,
const llvm::MCSymbol* Lo,
unsigned int Size)
virtual void emitAbsoluteSymbolDiff(
const llvm::MCSymbol* Hi,
const llvm::MCSymbol* Lo,
unsigned int Size)
Description
Emit the absolute difference between two symbols.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1011
Parameters
- const llvm::MCSymbol* Hi
- const llvm::MCSymbol* Lo
- unsigned int Size
¶virtual void emitAbsoluteSymbolDiffAsULEB128(
const llvm::MCSymbol* Hi,
const llvm::MCSymbol* Lo)
virtual void emitAbsoluteSymbolDiffAsULEB128(
const llvm::MCSymbol* Hi,
const llvm::MCSymbol* Lo)
Description
Emit the absolute difference between two symbols encoded with ULEB128.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1015
Parameters
- const llvm::MCSymbol* Hi
- const llvm::MCSymbol* Lo
¶virtual void emitAddrsig()
virtual void emitAddrsig()
Declared at: llvm/include/llvm/MC/MCStreamer.h:1089
¶virtual void emitAddrsigSym(
const llvm::MCSymbol* Sym)
virtual void emitAddrsigSym(
const llvm::MCSymbol* Sym)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1090
Parameters
- const llvm::MCSymbol* Sym
¶virtual void emitAssemblerFlag(
llvm::MCAssemblerFlag Flag)
virtual void emitAssemblerFlag(
llvm::MCAssemblerFlag Flag)
Description
Note in the output the specified \p Flag.
Declared at: llvm/include/llvm/MC/MCStreamer.h:492
Parameters
- llvm::MCAssemblerFlag Flag
¶virtual void emitAssignment(
llvm::MCSymbol* Symbol,
const llvm::MCExpr* Value)
virtual void emitAssignment(
llvm::MCSymbol* Symbol,
const llvm::MCExpr* Value)
Description
Emit an assignment of \p Value to \p 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.
Declared at: llvm/include/llvm/MC/MCStreamer.h:538
Parameters
- llvm::MCSymbol* Symbol
- - The symbol being assigned to.
- const llvm::MCExpr* Value
- - The value for the symbol.
¶virtual void emitBinaryData(llvm::StringRef Data)
virtual void emitBinaryData(llvm::StringRef Data)
Description
Functionally identical to EmitBytes. When emitting textual assembly, this method uses .byte directives instead of .ascii or .asciz for readability.
Declared at: llvm/include/llvm/MC/MCStreamer.h:707
Parameters
- llvm::StringRef Data
¶virtual void emitBuildVersion(
unsigned int Platform,
unsigned int Major,
unsigned int Minor,
unsigned int Update,
llvm::VersionTuple SDKVersion)
virtual void emitBuildVersion(
unsigned int Platform,
unsigned int Major,
unsigned int Minor,
unsigned int Update,
llvm::VersionTuple SDKVersion)
Description
Emit/Specify Mach-O build version command.\p Platform should be one of MachO::PlatformType.
Declared at: llvm/include/llvm/MC/MCStreamer.h:508
Parameters
- unsigned int Platform
- unsigned int Major
- unsigned int Minor
- unsigned int Update
- llvm::VersionTuple SDKVersion
¶virtual void emitBundleAlignMode(
unsigned int AlignPow2)
virtual void emitBundleAlignMode(
unsigned int AlignPow2)
Description
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.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1103
Parameters
- unsigned int AlignPow2
¶virtual void emitBundleLock(bool AlignToEnd)
virtual void emitBundleLock(bool AlignToEnd)
Description
The following instructions are a bundle-locked group.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1109
Parameters
- bool AlignToEnd
- - If true, the bundle-locked group will be aligned to the end of a bundle.
¶virtual void emitBundleUnlock()
virtual void emitBundleUnlock()
Description
Ends a bundle-locked group.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1112
¶virtual void emitBytes(llvm::StringRef Data)
virtual void emitBytes(llvm::StringRef Data)
Description
Emit the bytes in \p Data into the output. This is used to implement assembler directives such as .byte, .ascii, etc.
Declared at: llvm/include/llvm/MC/MCStreamer.h:703
Parameters
- llvm::StringRef Data
¶virtual void emitCFIAdjustCfaOffset(
int64_t Adjustment)
virtual void emitCFIAdjustCfaOffset(
int64_t Adjustment)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1035
Parameters
- int64_t Adjustment
¶virtual void emitCFIBKeyFrame()
virtual void emitCFIBKeyFrame()
Declared at: llvm/include/llvm/MC/MCStreamer.h:928
¶virtual void emitCFIDefCfa(int64_t Register,
int64_t Offset)
virtual void emitCFIDefCfa(int64_t Register,
int64_t Offset)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1022
Parameters
- int64_t Register
- int64_t Offset
¶virtual void emitCFIDefCfaOffset(int64_t Offset)
virtual void emitCFIDefCfaOffset(int64_t Offset)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1023
Parameters
- int64_t Offset
¶virtual void emitCFIDefCfaRegister(
int64_t Register)
virtual void emitCFIDefCfaRegister(
int64_t Register)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1024
Parameters
- int64_t Register
¶void emitCFIEndProc()
void emitCFIEndProc()
Declared at: llvm/include/llvm/MC/MCStreamer.h:1021
¶virtual void emitCFIEndProcImpl(
llvm::MCDwarfFrameInfo& CurFrame)
virtual void emitCFIEndProcImpl(
llvm::MCDwarfFrameInfo& CurFrame)
Declared at: llvm/include/llvm/MC/MCStreamer.h:257
Parameters
- llvm::MCDwarfFrameInfo& CurFrame
¶virtual void emitCFIEscape(llvm::StringRef Values)
virtual void emitCFIEscape(llvm::StringRef Values)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1036
Parameters
- llvm::StringRef Values
¶virtual void emitCFIGnuArgsSize(int64_t Size)
virtual void emitCFIGnuArgsSize(int64_t Size)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1038
Parameters
- int64_t Size
¶virtual void emitCFILLVMDefAspaceCfa(
int64_t Register,
int64_t Offset,
int64_t AddressSpace)
virtual void emitCFILLVMDefAspaceCfa(
int64_t Register,
int64_t Offset,
int64_t AddressSpace)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1025
Parameters
- int64_t Register
- int64_t Offset
- int64_t AddressSpace
¶virtual llvm::MCSymbol* emitCFILabel()
virtual llvm::MCSymbol* emitCFILabel()
Description
When emitting an object file, create and emit a real label. When emitting textual assembly, this should do nothing to avoid polluting our output.
Declared at: llvm/include/llvm/MC/MCStreamer.h:309
¶virtual void emitCFILsda(
const llvm::MCSymbol* Sym,
unsigned int Encoding)
virtual void emitCFILsda(
const llvm::MCSymbol* Sym,
unsigned int Encoding)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1029
Parameters
- const llvm::MCSymbol* Sym
- unsigned int Encoding
¶virtual void emitCFIMTETaggedFrame()
virtual void emitCFIMTETaggedFrame()
Declared at: llvm/include/llvm/MC/MCStreamer.h:929
¶virtual void emitCFINegateRAState()
virtual void emitCFINegateRAState()
Declared at: llvm/include/llvm/MC/MCStreamer.h:1043
¶virtual void emitCFIOffset(int64_t Register,
int64_t Offset)
virtual void emitCFIOffset(int64_t Register,
int64_t Offset)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1027
Parameters
- int64_t Register
- int64_t Offset
¶virtual void emitCFIPersonality(
const llvm::MCSymbol* Sym,
unsigned int Encoding)
virtual void emitCFIPersonality(
const llvm::MCSymbol* Sym,
unsigned int Encoding)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1028
Parameters
- const llvm::MCSymbol* Sym
- unsigned int Encoding
¶virtual void emitCFIRegister(int64_t Register1,
int64_t Register2)
virtual void emitCFIRegister(int64_t Register1,
int64_t Register2)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1041
Parameters
- int64_t Register1
- int64_t Register2
¶virtual void emitCFIRelOffset(int64_t Register,
int64_t Offset)
virtual void emitCFIRelOffset(int64_t Register,
int64_t Offset)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1034
Parameters
- int64_t Register
- int64_t Offset
¶virtual void emitCFIRememberState()
virtual void emitCFIRememberState()
Declared at: llvm/include/llvm/MC/MCStreamer.h:1030
¶virtual void emitCFIRestore(int64_t Register)
virtual void emitCFIRestore(int64_t Register)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1033
Parameters
- int64_t Register
¶virtual void emitCFIRestoreState()
virtual void emitCFIRestoreState()
Declared at: llvm/include/llvm/MC/MCStreamer.h:1031
¶virtual void emitCFIReturnColumn(int64_t Register)
virtual void emitCFIReturnColumn(int64_t Register)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1037
Parameters
- int64_t Register
¶virtual void emitCFISameValue(int64_t Register)
virtual void emitCFISameValue(int64_t Register)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1032
Parameters
- int64_t Register
¶virtual void emitCFISections(bool EH, bool Debug)
virtual void emitCFISections(bool EH, bool Debug)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1019
Parameters
- bool EH
- bool Debug
¶virtual void emitCFISignalFrame()
virtual void emitCFISignalFrame()
Declared at: llvm/include/llvm/MC/MCStreamer.h:1039
¶void emitCFIStartProc(
bool IsSimple,
llvm::SMLoc Loc = llvm::SMLoc())
void emitCFIStartProc(
bool IsSimple,
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1020
Parameters
- bool IsSimple
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitCFIStartProcImpl(
llvm::MCDwarfFrameInfo& Frame)
virtual void emitCFIStartProcImpl(
llvm::MCDwarfFrameInfo& Frame)
Declared at: llvm/include/llvm/MC/MCStreamer.h:256
Parameters
- llvm::MCDwarfFrameInfo& Frame
¶virtual void emitCFIUndefined(int64_t Register)
virtual void emitCFIUndefined(int64_t Register)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1040
Parameters
- int64_t Register
¶virtual void emitCFIWindowSave()
virtual void emitCFIWindowSave()
Declared at: llvm/include/llvm/MC/MCStreamer.h:1042
¶virtual void emitCGProfileEntry(
const llvm::MCSymbolRefExpr* From,
const llvm::MCSymbolRefExpr* To,
uint64_t Count)
virtual void emitCGProfileEntry(
const llvm::MCSymbolRefExpr* From,
const llvm::MCSymbolRefExpr* To,
uint64_t Count)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1068
Parameters
- const llvm::MCSymbolRefExpr* From
- const llvm::MCSymbolRefExpr* To
- uint64_t Count
¶virtual void emitCOFFImgRel32(
const llvm::MCSymbol* Symbol,
int64_t Offset)
virtual void emitCOFFImgRel32(
const llvm::MCSymbol* Symbol,
int64_t Offset)
Description
Emits a COFF image relative relocation.
Declared at: llvm/include/llvm/MC/MCStreamer.h:599
Parameters
- const llvm::MCSymbol* Symbol
- - Symbol the image relative relocation should point to.
- int64_t Offset
¶virtual void emitCOFFSafeSEH(
const llvm::MCSymbol* Symbol)
virtual void emitCOFFSafeSEH(
const llvm::MCSymbol* Symbol)
Declared at: llvm/include/llvm/MC/MCStreamer.h:581
Parameters
- const llvm::MCSymbol* Symbol
¶virtual void emitCOFFSecRel32(
const llvm::MCSymbol* Symbol,
uint64_t Offset)
virtual void emitCOFFSecRel32(
const llvm::MCSymbol* Symbol,
uint64_t Offset)
Description
Emits a COFF section relative relocation.
Declared at: llvm/include/llvm/MC/MCStreamer.h:594
Parameters
- const llvm::MCSymbol* Symbol
- - Symbol the section relative relocation should point to.
- uint64_t Offset
¶virtual void emitCOFFSectionIndex(
const llvm::MCSymbol* Symbol)
virtual void emitCOFFSectionIndex(
const llvm::MCSymbol* Symbol)
Description
Emits a COFF section index.
Declared at: llvm/include/llvm/MC/MCStreamer.h:589
Parameters
- const llvm::MCSymbol* Symbol
- - Symbol the section number relocation should point to.
¶virtual void emitCOFFSymbolIndex(
const llvm::MCSymbol* Symbol)
virtual void emitCOFFSymbolIndex(
const llvm::MCSymbol* Symbol)
Description
Emits the symbol table index of a Symbol into the current section.
Declared at: llvm/include/llvm/MC/MCStreamer.h:584
Parameters
- const llvm::MCSymbol* Symbol
¶virtual void emitCOFFSymbolStorageClass(
int StorageClass)
virtual void emitCOFFSymbolStorageClass(
int StorageClass)
Description
Emit the storage class of the symbol.
Declared at: llvm/include/llvm/MC/MCStreamer.h:571
Parameters
- int StorageClass
- - The storage class the symbol should have.
¶virtual void emitCOFFSymbolType(int Type)
virtual void emitCOFFSymbolType(int Type)
Description
Emit the type of the symbol.
Declared at: llvm/include/llvm/MC/MCStreamer.h:576
Parameters
- int Type
- - A COFF type identifier (see COFF::SymbolType in X86COFF.h)
¶virtual void emitCVDefRangeDirective(
ArrayRef<std::pair<const MCSymbol*,
const MCSymbol*>> Ranges,
codeview::DefRangeFramePointerRelHeader DRHdr)
virtual void emitCVDefRangeDirective(
ArrayRef<std::pair<const MCSymbol*,
const MCSymbol*>> Ranges,
codeview::DefRangeFramePointerRelHeader DRHdr)
Declared at: llvm/include/llvm/MC/MCStreamer.h:991
Parameters
- ArrayRef< std::pair<const MCSymbol*, const MCSymbol*>> Ranges
- codeview::DefRangeFramePointerRelHeader DRHdr
¶virtual void emitCVDefRangeDirective(
ArrayRef<std::pair<const MCSymbol*,
const MCSymbol*>> Ranges,
codeview::DefRangeRegisterHeader DRHdr)
virtual void emitCVDefRangeDirective(
ArrayRef<std::pair<const MCSymbol*,
const MCSymbol*>> Ranges,
codeview::DefRangeRegisterHeader DRHdr)
Declared at: llvm/include/llvm/MC/MCStreamer.h:987
Parameters
- ArrayRef< std::pair<const MCSymbol*, const MCSymbol*>> Ranges
- codeview::DefRangeRegisterHeader DRHdr
¶virtual void emitCVDefRangeDirective(
ArrayRef<std::pair<const MCSymbol*,
const MCSymbol*>> Ranges,
codeview::DefRangeSubfieldRegisterHeader
DRHdr)
virtual void emitCVDefRangeDirective(
ArrayRef<std::pair<const MCSymbol*,
const MCSymbol*>> Ranges,
codeview::DefRangeSubfieldRegisterHeader
DRHdr)
Declared at: llvm/include/llvm/MC/MCStreamer.h:983
Parameters
- ArrayRef< std::pair<const MCSymbol*, const MCSymbol*>> Ranges
- codeview::DefRangeSubfieldRegisterHeader DRHdr
¶virtual void emitCVDefRangeDirective(
ArrayRef<std::pair<const MCSymbol*,
const MCSymbol*>> Ranges,
codeview::DefRangeRegisterRelHeader DRHdr)
virtual void emitCVDefRangeDirective(
ArrayRef<std::pair<const MCSymbol*,
const MCSymbol*>> Ranges,
codeview::DefRangeRegisterRelHeader DRHdr)
Declared at: llvm/include/llvm/MC/MCStreamer.h:979
Parameters
- ArrayRef< std::pair<const MCSymbol*, const MCSymbol*>> Ranges
- codeview::DefRangeRegisterRelHeader DRHdr
¶virtual void emitCVDefRangeDirective(
ArrayRef<std::pair<const MCSymbol*,
const MCSymbol*>> Ranges,
llvm::StringRef FixedSizePortion)
virtual void emitCVDefRangeDirective(
ArrayRef<std::pair<const MCSymbol*,
const MCSymbol*>> Ranges,
llvm::StringRef FixedSizePortion)
Description
This implements the CodeView '.cv_def_range' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:975
Parameters
- ArrayRef< std::pair<const MCSymbol*, const MCSymbol*>> Ranges
- llvm::StringRef FixedSizePortion
¶virtual void emitCVFPOData(
const llvm::MCSymbol* ProcSym,
llvm::SMLoc Loc = {})
virtual void emitCVFPOData(
const llvm::MCSymbol* ProcSym,
llvm::SMLoc Loc = {})
Description
This implements the CodeView '.cv_fpo_data' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1006
Parameters
- const llvm::MCSymbol* ProcSym
- llvm::SMLoc Loc = {}
¶virtual void emitCVFileChecksumOffsetDirective(
unsigned int FileNo)
virtual void emitCVFileChecksumOffsetDirective(
unsigned int FileNo)
Description
This implements the CodeView '.cv_filechecksumoffset' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1003
Parameters
- unsigned int FileNo
¶virtual void emitCVFileChecksumsDirective()
virtual void emitCVFileChecksumsDirective()
Description
This implements the CodeView '.cv_filechecksums' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:999
¶virtual bool emitCVFileDirective(
unsigned int FileNo,
llvm::StringRef Filename,
ArrayRef<uint8_t> Checksum,
unsigned int ChecksumKind)
virtual bool emitCVFileDirective(
unsigned int FileNo,
llvm::StringRef Filename,
ArrayRef<uint8_t> Checksum,
unsigned int ChecksumKind)
Description
Associate a filename with a specified logical file number, and also specify that file's checksum information. This implements the '.cv_file 4 "foo.c"' assembler directive. Returns true on success.
Declared at: llvm/include/llvm/MC/MCStreamer.h:941
Parameters
- unsigned int FileNo
- llvm::StringRef Filename
- ArrayRef<uint8_t> Checksum
- unsigned int ChecksumKind
¶virtual bool emitCVFuncIdDirective(
unsigned int FunctionId)
virtual bool emitCVFuncIdDirective(
unsigned int FunctionId)
Description
Introduces a function id for use with .cv_loc.
Declared at: llvm/include/llvm/MC/MCStreamer.h:946
Parameters
- unsigned int FunctionId
¶virtual void emitCVInlineLinetableDirective(
unsigned int PrimaryFunctionId,
unsigned int SourceFileId,
unsigned int SourceLineNum,
const llvm::MCSymbol* FnStartSym,
const llvm::MCSymbol* FnEndSym)
virtual void emitCVInlineLinetableDirective(
unsigned int PrimaryFunctionId,
unsigned int SourceFileId,
unsigned int SourceLineNum,
const llvm::MCSymbol* FnStartSym,
const llvm::MCSymbol* FnEndSym)
Description
This implements the CodeView '.cv_inline_linetable' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:967
Parameters
- unsigned int PrimaryFunctionId
- unsigned int SourceFileId
- unsigned int SourceLineNum
- const llvm::MCSymbol* FnStartSym
- const llvm::MCSymbol* FnEndSym
¶virtual bool emitCVInlineSiteIdDirective(
unsigned int FunctionId,
unsigned int IAFunc,
unsigned int IAFile,
unsigned int IALine,
unsigned int IACol,
llvm::SMLoc Loc)
virtual bool emitCVInlineSiteIdDirective(
unsigned int FunctionId,
unsigned int IAFunc,
unsigned int IAFile,
unsigned int IALine,
unsigned int IACol,
llvm::SMLoc Loc)
Description
Introduces an inline call site id for use with .cv_loc. Includes extra information for inline line table generation.
Declared at: llvm/include/llvm/MC/MCStreamer.h:950
Parameters
- unsigned int FunctionId
- unsigned int IAFunc
- unsigned int IAFile
- unsigned int IALine
- unsigned int IACol
- llvm::SMLoc Loc
¶virtual void emitCVLinetableDirective(
unsigned int FunctionId,
const llvm::MCSymbol* FnStart,
const llvm::MCSymbol* FnEnd)
virtual void emitCVLinetableDirective(
unsigned int FunctionId,
const llvm::MCSymbol* FnStart,
const llvm::MCSymbol* FnEnd)
Description
This implements the CodeView '.cv_linetable' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:961
Parameters
- unsigned int FunctionId
- const llvm::MCSymbol* FnStart
- const llvm::MCSymbol* FnEnd
¶virtual void emitCVLocDirective(
unsigned int FunctionId,
unsigned int FileNo,
unsigned int Line,
unsigned int Column,
bool PrologueEnd,
bool IsStmt,
llvm::StringRef FileName,
llvm::SMLoc Loc)
virtual void emitCVLocDirective(
unsigned int FunctionId,
unsigned int FileNo,
unsigned int Line,
unsigned int Column,
bool PrologueEnd,
bool IsStmt,
llvm::StringRef FileName,
llvm::SMLoc Loc)
Description
This implements the CodeView '.cv_loc' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:955
Parameters
- unsigned int FunctionId
- unsigned int FileNo
- unsigned int Line
- unsigned int Column
- bool PrologueEnd
- bool IsStmt
- llvm::StringRef FileName
- llvm::SMLoc Loc
¶virtual void emitCVStringTableDirective()
virtual void emitCVStringTableDirective()
Description
This implements the CodeView '.cv_stringtable' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:996
¶virtual void emitCodeAlignment(
unsigned int ByteAlignment,
const llvm::MCSubtargetInfo* STI,
unsigned int MaxBytesToEmit = 0)
virtual void emitCodeAlignment(
unsigned int ByteAlignment,
const llvm::MCSubtargetInfo* STI,
unsigned int MaxBytesToEmit = 0)
Description
Emit nops until the byte alignment \p 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.
Declared at: llvm/include/llvm/MC/MCStreamer.h:871
Parameters
- unsigned int ByteAlignment
- - The alignment to reach. This must be a power of two on some targets.
- const llvm::MCSubtargetInfo* STI
- - The MCSubtargetInfo in operation when padding is emitted.
- unsigned int MaxBytesToEmit = 0
- - The maximum numbers of bytes to emit, or 0. If the alignment cannot be reached in this many bytes, no bytes are emitted.
¶virtual void emitCommonSymbol(
llvm::MCSymbol* Symbol,
uint64_t Size,
unsigned int ByteAlignment)
virtual void emitCommonSymbol(
llvm::MCSymbol* Symbol,
uint64_t Size,
unsigned int ByteAlignment)
Description
Emit a common symbol.
Declared at: llvm/include/llvm/MC/MCStreamer.h:663
Parameters
- llvm::MCSymbol* Symbol
- - The common symbol to emit.
- uint64_t Size
- - The size of the common symbol.
- unsigned int ByteAlignment
- - The alignment of the symbol if non-zero. This must be a power of 2.
¶virtual void emitConditionalAssignment(
llvm::MCSymbol* Symbol,
const llvm::MCExpr* Value)
virtual void emitConditionalAssignment(
llvm::MCSymbol* Symbol,
const llvm::MCExpr* Value)
Description
Emit an assignment of \p Value to \p Symbol, but only if \p Value is also emitted.
Declared at: llvm/include/llvm/MC/MCStreamer.h:542
Parameters
- llvm::MCSymbol* Symbol
- const llvm::MCExpr* Value
¶virtual void emitDTPRel32Value(
const llvm::MCExpr* Value)
virtual void emitDTPRel32Value(
const llvm::MCExpr* Value)
Description
Emit the expression \p Value into the output as a dtprel (32-bit DTP relative) value. This is used to implement assembler directives such as .dtprelword on targets that support them.
Declared at: llvm/include/llvm/MC/MCStreamer.h:777
Parameters
- const llvm::MCExpr* Value
¶virtual void emitDTPRel64Value(
const llvm::MCExpr* Value)
virtual void emitDTPRel64Value(
const llvm::MCExpr* Value)
Description
Emit the expression \p Value into the output as a dtprel (64-bit DTP relative) value. This is used to implement assembler directives such as .dtpreldword on targets that support them.
Declared at: llvm/include/llvm/MC/MCStreamer.h:770
Parameters
- const llvm::MCExpr* Value
¶virtual void emitDarwinTargetVariantBuildVersion(
unsigned int Platform,
unsigned int Major,
unsigned int Minor,
unsigned int Update,
llvm::VersionTuple SDKVersion)
virtual void emitDarwinTargetVariantBuildVersion(
unsigned int Platform,
unsigned int Major,
unsigned int Minor,
unsigned int Update,
llvm::VersionTuple SDKVersion)
Declared at: llvm/include/llvm/MC/MCStreamer.h:512
Parameters
- unsigned int Platform
- unsigned int Major
- unsigned int Minor
- unsigned int Update
- llvm::VersionTuple SDKVersion
¶virtual void emitDataRegion(
llvm::MCDataRegionType Kind)
virtual void emitDataRegion(
llvm::MCDataRegionType Kind)
Description
Note in the output the specified region \p Kind.
Declared at: llvm/include/llvm/MC/MCStreamer.h:499
Parameters
- llvm::MCDataRegionType Kind
¶virtual void emitDwarfAdvanceLineAddr(
int64_t LineDelta,
const llvm::MCSymbol* LastLabel,
const llvm::MCSymbol* Label,
unsigned int PointerSize)
virtual void emitDwarfAdvanceLineAddr(
int64_t LineDelta,
const llvm::MCSymbol* LastLabel,
const llvm::MCSymbol* Label,
unsigned int PointerSize)
Description
If targets does not support representing debug line section by .loc/.file directives in assembly output, we need to populate debug line section with raw debug line contents.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1148
Parameters
- int64_t LineDelta
- const llvm::MCSymbol* LastLabel
- const llvm::MCSymbol* Label
- unsigned int PointerSize
¶virtual void emitDwarfFile0Directive(
llvm::StringRef Directory,
llvm::StringRef Filename,
Optional<MD5::MD5Result> Checksum,
Optional<llvm::StringRef> Source,
unsigned int CUID = 0)
virtual void emitDwarfFile0Directive(
llvm::StringRef Directory,
llvm::StringRef Filename,
Optional<MD5::MD5Result> Checksum,
Optional<llvm::StringRef> Source,
unsigned int CUID = 0)
Description
Specify the "root" file of the compilation, using the ".file 0" extension.
Declared at: llvm/include/llvm/MC/MCStreamer.h:923
Parameters
- llvm::StringRef Directory
- llvm::StringRef Filename
- Optional<MD5::MD5Result> Checksum
- Optional<llvm::StringRef> Source
- unsigned int CUID = 0
¶unsigned int emitDwarfFileDirective(
unsigned int FileNo,
llvm::StringRef Directory,
llvm::StringRef Filename,
Optional<MD5::MD5Result> Checksum = None,
Optional<llvm::StringRef> Source = None,
unsigned int CUID = 0)
unsigned int emitDwarfFileDirective(
unsigned int FileNo,
llvm::StringRef Directory,
llvm::StringRef Filename,
Optional<MD5::MD5Result> Checksum = None,
Optional<llvm::StringRef> Source = None,
unsigned int CUID = 0)
Description
Associate a filename with a specified logical file number. This implements the DWARF2 '.file 4 "foo.c"' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:902
Parameters
- unsigned int FileNo
- llvm::StringRef Directory
- llvm::StringRef Filename
- Optional<MD5::MD5Result> Checksum = None
- Optional<llvm::StringRef> Source = None
- unsigned int CUID = 0
¶virtual void emitDwarfLineEndEntry(
llvm::MCSection* Section,
llvm::MCSymbol* LastLabel)
virtual void emitDwarfLineEndEntry(
llvm::MCSection* Section,
llvm::MCSymbol* LastLabel)
Description
Emit the debug line end entry.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1143
Parameters
- llvm::MCSection* Section
- llvm::MCSymbol* LastLabel
¶virtual void emitDwarfLineStartLabel(
llvm::MCSymbol* StartSym)
virtual void emitDwarfLineStartLabel(
llvm::MCSymbol* StartSym)
Description
Emit the debug line start label.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1140
Parameters
- llvm::MCSymbol* StartSym
¶virtual void emitDwarfLocDirective(
unsigned int FileNo,
unsigned int Line,
unsigned int Column,
unsigned int Flags,
unsigned int Isa,
unsigned int Discriminator,
llvm::StringRef FileName)
virtual void emitDwarfLocDirective(
unsigned int FileNo,
unsigned int Line,
unsigned int Column,
unsigned int Flags,
unsigned int Isa,
unsigned int Discriminator,
llvm::StringRef FileName)
Description
This implements the DWARF2 '.loc fileno lineno ...' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:933
Parameters
- unsigned int FileNo
- unsigned int Line
- unsigned int Column
- unsigned int Flags
- unsigned int Isa
- unsigned int Discriminator
- llvm::StringRef FileName
¶virtual llvm::MCSymbol* emitDwarfUnitLength(
const llvm::Twine& Prefix,
const llvm::Twine& Comment)
virtual llvm::MCSymbol* emitDwarfUnitLength(
const llvm::Twine& Prefix,
const llvm::Twine& Comment)
Description
Emit a unit length field. The actual format, DWARF32 or DWARF64, is chosen according to the settings. Return the end symbol generated inside, the caller needs to emit it.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1136
Parameters
- const llvm::Twine& Prefix
- const llvm::Twine& Comment
¶virtual void emitDwarfUnitLength(
uint64_t Length,
const llvm::Twine& Comment)
virtual void emitDwarfUnitLength(
uint64_t Length,
const llvm::Twine& Comment)
Description
Emit a unit length field. The actual format, DWARF32 or DWARF64, is chosen according to the settings.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1131
Parameters
- uint64_t Length
- const llvm::Twine& Comment
¶virtual void emitEHSymAttributes(
const llvm::MCSymbol* Symbol,
llvm::MCSymbol* EHSymbol)
virtual void emitEHSymAttributes(
const llvm::MCSymbol* Symbol,
llvm::MCSymbol* EHSymbol)
Declared at: llvm/include/llvm/MC/MCStreamer.h:489
Parameters
- const llvm::MCSymbol* Symbol
- llvm::MCSymbol* EHSymbol
¶virtual void emitELFSize(
llvm::MCSymbol* Symbol,
const llvm::MCExpr* Value)
virtual void emitELFSize(
llvm::MCSymbol* Symbol,
const llvm::MCExpr* Value)
Description
Emit an ELF .size directive. This corresponds to an assembler statement such as: .size symbol, expression
Declared at: llvm/include/llvm/MC/MCStreamer.h:641
Parameters
- llvm::MCSymbol* Symbol
- const llvm::MCExpr* Value
¶virtual void emitELFSymverDirective(
const llvm::MCSymbol* OriginalSym,
llvm::StringRef Name,
bool KeepOriginalSym)
virtual void emitELFSymverDirective(
const llvm::MCSymbol* OriginalSym,
llvm::StringRef Name,
bool KeepOriginalSym)
Description
Emit an ELF .symver directive. This corresponds to an assembler statement such as: .symver _start, foo @ SOME_VERSION
Declared at: llvm/include/llvm/MC/MCStreamer.h:647
Parameters
- const llvm::MCSymbol* OriginalSym
- llvm::StringRef Name
- bool KeepOriginalSym
¶virtual void emitExplicitComments()
virtual void emitExplicitComments()
Description
Emit added explicit comments.
Declared at: llvm/include/llvm/MC/MCStreamer.h:373
¶virtual void emitFileDirective(
llvm::StringRef Filename)
virtual void emitFileDirective(
llvm::StringRef Filename)
Description
Switch to a new logical file. This is used to implement the '.file "foo.c"' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:890
Parameters
- llvm::StringRef Filename
¶virtual void emitFileDirective(
llvm::StringRef Filename,
llvm::StringRef CompilerVerion,
llvm::StringRef TimeStamp,
llvm::StringRef Description)
virtual void emitFileDirective(
llvm::StringRef Filename,
llvm::StringRef CompilerVerion,
llvm::StringRef TimeStamp,
llvm::StringRef Description)
Description
Emit ".file assembler diretive with additioal info.
Declared at: llvm/include/llvm/MC/MCStreamer.h:893
Parameters
- llvm::StringRef Filename
- llvm::StringRef CompilerVerion
- llvm::StringRef TimeStamp
- llvm::StringRef Description
¶virtual void emitFill(
const llvm::MCExpr& NumBytes,
uint64_t FillValue,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitFill(
const llvm::MCExpr& NumBytes,
uint64_t FillValue,
llvm::SMLoc Loc = llvm::SMLoc())
Description
Emit \p Size bytes worth of the value specified by \p FillValue. This is used to implement assembler directives such as .space or .skip.
Declared at: llvm/include/llvm/MC/MCStreamer.h:818
Parameters
- const llvm::MCExpr& NumBytes
- - The number of bytes to emit.
- uint64_t FillValue
- - The value to use when filling bytes.
- llvm::SMLoc Loc = llvm::SMLoc()
- - The location of the expression for error reporting.
¶void emitFill(uint64_t NumBytes,
uint8_t FillValue)
void emitFill(uint64_t NumBytes,
uint8_t FillValue)
Description
Emit NumBytes bytes worth of the value specified by FillValue. This implements directives such as '.space'.
Declared at: llvm/include/llvm/MC/MCStreamer.h:809
Parameters
- uint64_t NumBytes
- uint8_t FillValue
¶virtual void emitFill(
const llvm::MCExpr& NumValues,
int64_t Size,
int64_t Expr,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitFill(
const llvm::MCExpr& NumValues,
int64_t Size,
int64_t Expr,
llvm::SMLoc Loc = llvm::SMLoc())
Description
Emit \p NumValues copies of \p Size bytes. Each \p Size bytes is taken from the lowest order 4 bytes of \p Expr expression. This is used to implement assembler directives such as .fill.
Declared at: llvm/include/llvm/MC/MCStreamer.h:829
Parameters
- const llvm::MCExpr& NumValues
- - The number of copies of \p Size bytes to emit.
- int64_t Size
- - The size (in bytes) of each repeated value.
- int64_t Expr
- - The expression from which \p Size bytes are used.
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitGNUAttribute(unsigned int Tag,
unsigned int Value)
virtual void emitGNUAttribute(unsigned int Tag,
unsigned int Value)
Description
Emit a .gnu_attribute directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:655
Parameters
- unsigned int Tag
- unsigned int Value
¶virtual void emitGPRel32Value(
const llvm::MCExpr* Value)
virtual void emitGPRel32Value(
const llvm::MCExpr* Value)
Description
Emit the expression \p 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.
Declared at: llvm/include/llvm/MC/MCStreamer.h:805
Parameters
- const llvm::MCExpr* Value
¶virtual void emitGPRel64Value(
const llvm::MCExpr* Value)
virtual void emitGPRel64Value(
const llvm::MCExpr* Value)
Description
Emit the expression \p 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.
Declared at: llvm/include/llvm/MC/MCStreamer.h:798
Parameters
- const llvm::MCExpr* Value
¶virtual void emitIdent(
llvm::StringRef IdentString)
virtual void emitIdent(
llvm::StringRef IdentString)
Description
Emit the "identifiers" directive. This implements the '.ident "version foo"' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:898
Parameters
- llvm::StringRef IdentString
¶virtual void emitInstruction(
const llvm::MCInst& Inst,
const llvm::MCSubtargetInfo& STI)
virtual void emitInstruction(
const llvm::MCInst& Inst,
const llvm::MCSubtargetInfo& STI)
Description
Emit the given \p Instruction into the current section.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1093
Parameters
- const llvm::MCInst& Inst
- const llvm::MCSubtargetInfo& STI
¶void emitInt16(uint64_t Value)
void emitInt16(uint64_t Value)
Declared at: llvm/include/llvm/MC/MCStreamer.h:737
Parameters
- uint64_t Value
¶void emitInt32(uint64_t Value)
void emitInt32(uint64_t Value)
Declared at: llvm/include/llvm/MC/MCStreamer.h:738
Parameters
- uint64_t Value
¶void emitInt64(uint64_t Value)
void emitInt64(uint64_t Value)
Declared at: llvm/include/llvm/MC/MCStreamer.h:739
Parameters
- uint64_t Value
¶void emitInt8(uint64_t Value)
void emitInt8(uint64_t Value)
Declared at: llvm/include/llvm/MC/MCStreamer.h:736
Parameters
- uint64_t Value
¶virtual void emitIntValue(uint64_t Value,
unsigned int Size)
virtual void emitIntValue(uint64_t Value,
unsigned int Size)
Description
Special case of EmitValue that avoids the client having to pass in a MCExpr for constant integers.
Declared at: llvm/include/llvm/MC/MCStreamer.h:726
Parameters
- uint64_t Value
- unsigned int Size
¶virtual void emitIntValue(llvm::APInt Value)
virtual void emitIntValue(llvm::APInt Value)
Declared at: llvm/include/llvm/MC/MCStreamer.h:727
Parameters
- llvm::APInt Value
¶virtual void emitIntValueInHex(uint64_t Value,
unsigned int Size)
virtual void emitIntValueInHex(uint64_t Value,
unsigned int Size)
Description
Special case of EmitValue that avoids the client having to pass in a MCExpr for constant integers & prints in Hex format for certain modes.
Declared at: llvm/include/llvm/MC/MCStreamer.h:732
Parameters
- uint64_t Value
- unsigned int Size
¶virtual void emitIntValueInHexWithPadding(
uint64_t Value,
unsigned int Size)
virtual void emitIntValueInHexWithPadding(
uint64_t Value,
unsigned int Size)
Description
Special case of EmitValue that avoids the client having to pass in a MCExpr for constant integers & prints in Hex format for certain modes, pads the field with leading zeros to Size width
Declared at: llvm/include/llvm/MC/MCStreamer.h:744
Parameters
- uint64_t Value
- unsigned int Size
¶virtual void emitLOHDirective(
llvm::MCLOHType Kind,
const llvm::MCLOHArgs& Args)
virtual void emitLOHDirective(
llvm::MCLOHType Kind,
const llvm::MCLOHArgs& Args)
Description
Emit a Linker Optimization Hint (LOH) directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:652
Parameters
- llvm::MCLOHType Kind
- const llvm::MCLOHArgs& Args
- - Arguments of the LOH.
¶virtual void emitLabel(
llvm::MCSymbol* Symbol,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitLabel(
llvm::MCSymbol* Symbol,
llvm::SMLoc Loc = llvm::SMLoc())
Description
Emit a label for \p Symbol into the current section. This corresponds to an assembler statement such as: foo:
Declared at: llvm/include/llvm/MC/MCStreamer.h:487
Parameters
- llvm::MCSymbol* 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.
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitLinkerOptions(
ArrayRef<std::string> Kind)
virtual void emitLinkerOptions(
ArrayRef<std::string> Kind)
Description
Emit the given list \p Options of strings as linker options into the output.
Declared at: llvm/include/llvm/MC/MCStreamer.h:496
Parameters
- ArrayRef<std::string> Kind
¶virtual void emitLocalCommonSymbol(
llvm::MCSymbol* Symbol,
uint64_t Size,
unsigned int ByteAlignment)
virtual void emitLocalCommonSymbol(
llvm::MCSymbol* Symbol,
uint64_t Size,
unsigned int ByteAlignment)
Description
Emit a local common (.lcomm) symbol.
Declared at: llvm/include/llvm/MC/MCStreamer.h:671
Parameters
- llvm::MCSymbol* Symbol
- - The common symbol to emit.
- uint64_t Size
- - The size of the common symbol.
- unsigned int ByteAlignment
- - The alignment of the common symbol in bytes.
¶virtual void emitNops(
int64_t NumBytes,
int64_t ControlledNopLength,
llvm::SMLoc Loc,
const llvm::MCSubtargetInfo& STI)
virtual void emitNops(
int64_t NumBytes,
int64_t ControlledNopLength,
llvm::SMLoc Loc,
const llvm::MCSubtargetInfo& STI)
Declared at: llvm/include/llvm/MC/MCStreamer.h:832
Parameters
- int64_t NumBytes
- int64_t ControlledNopLength
- llvm::SMLoc Loc
- const llvm::MCSubtargetInfo& STI
¶virtual void emitPseudoProbe(
uint64_t Guid,
uint64_t Index,
uint64_t Type,
uint64_t Attr,
const llvm::MCPseudoProbeInlineStack&
InlineStack)
virtual void emitPseudoProbe(
uint64_t Guid,
uint64_t Index,
uint64_t Type,
uint64_t Attr,
const llvm::MCPseudoProbeInlineStack&
InlineStack)
Description
Emit the a pseudo probe into the current section.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1096
Parameters
- uint64_t Guid
- uint64_t Index
- uint64_t Type
- uint64_t Attr
- const llvm::MCPseudoProbeInlineStack& InlineStack
¶virtual void emitRawComment(const llvm::Twine& T,
bool TabPrefix = true)
virtual void emitRawComment(const llvm::Twine& T,
bool TabPrefix = true)
Description
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.
Declared at: llvm/include/llvm/MC/MCStreamer.h:366
Parameters
- const llvm::Twine& T
- bool TabPrefix = true
¶void emitRawText(const llvm::Twine& String)
void emitRawText(const llvm::Twine& String)
Description
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.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1117
Parameters
- const llvm::Twine& String
¶virtual void emitRawTextImpl(
llvm::StringRef String)
virtual void emitRawTextImpl(
llvm::StringRef String)
Declared at: llvm/include/llvm/MC/MCStreamer.h:267
Parameters
- llvm::StringRef String
¶virtual Optional<std::pair<bool, std::string>>
emitRelocDirective(
const llvm::MCExpr& Offset,
llvm::StringRef Name,
const llvm::MCExpr* Expr,
llvm::SMLoc Loc,
const llvm::MCSubtargetInfo& STI)
virtual Optional<std::pair<bool, std::string>>
emitRelocDirective(
const llvm::MCExpr& Offset,
llvm::StringRef Name,
const llvm::MCExpr* Expr,
llvm::SMLoc Loc,
const llvm::MCSubtargetInfo& STI)
Description
Record a relocation described by the .reloc directive. Return None if succeeded. Otherwise, return a pair (Name is invalid, error message).
Declared at: llvm/include/llvm/MC/MCStreamer.h:1084
Parameters
- const llvm::MCExpr& Offset
- llvm::StringRef Name
- const llvm::MCExpr* Expr
- llvm::SMLoc Loc
- const llvm::MCSubtargetInfo& STI
¶void emitSLEB128IntValue(int64_t Value)
void emitSLEB128IntValue(int64_t Value)
Description
Special case of EmitSLEB128Value that avoids the client having to pass in a MCExpr for constant integers.
Declared at: llvm/include/llvm/MC/MCStreamer.h:758
Parameters
- int64_t Value
¶virtual void emitSLEB128Value(
const llvm::MCExpr* Value)
virtual void emitSLEB128Value(
const llvm::MCExpr* Value)
Declared at: llvm/include/llvm/MC/MCStreamer.h:750
Parameters
- const llvm::MCExpr* Value
¶virtual bool emitSymbolAttribute(
llvm::MCSymbol* Symbol,
llvm::MCSymbolAttr Attribute)
virtual bool emitSymbolAttribute(
llvm::MCSymbol* Symbol,
llvm::MCSymbolAttr Attribute)
Description
Add the given \p Attribute to \p Symbol.
Declared at: llvm/include/llvm/MC/MCStreamer.h:554
Parameters
- llvm::MCSymbol* Symbol
- llvm::MCSymbolAttr Attribute
¶virtual void emitSymbolDesc(
llvm::MCSymbol* Symbol,
unsigned int DescValue)
virtual void emitSymbolDesc(
llvm::MCSymbol* Symbol,
unsigned int DescValue)
Description
Set the \p DescValue for the \p Symbol.
Declared at: llvm/include/llvm/MC/MCStreamer.h:561
Parameters
- llvm::MCSymbol* Symbol
- - The symbol to have its n_desc field set.
- unsigned int DescValue
- - The value to set into the n_desc field.
¶void emitSymbolValue(
const llvm::MCSymbol* Sym,
unsigned int Size,
bool IsSectionRelative = false)
void emitSymbolValue(
const llvm::MCSymbol* Sym,
unsigned int Size,
bool IsSectionRelative = false)
Description
Special case of EmitValue that avoids the client having to pass in a MCExpr for MCSymbols.
Declared at: llvm/include/llvm/MC/MCStreamer.h:762
Parameters
- const llvm::MCSymbol* Sym
- unsigned int Size
- bool IsSectionRelative = false
¶virtual void emitSyntaxDirective()
virtual void emitSyntaxDirective()
Declared at: llvm/include/llvm/MC/MCStreamer.h:1079
¶virtual void emitTBSSSymbol(
llvm::MCSection* Section,
llvm::MCSymbol* Symbol,
uint64_t Size,
unsigned int ByteAlignment = 0)
virtual void emitTBSSSymbol(
llvm::MCSection* Section,
llvm::MCSymbol* Symbol,
uint64_t Size,
unsigned int ByteAlignment = 0)
Description
Emit a thread local bss (.tbss) symbol.
Declared at: llvm/include/llvm/MC/MCStreamer.h:692
Parameters
- llvm::MCSection* Section
- - The thread local common section.
- llvm::MCSymbol* Symbol
- - The thread local common symbol to emit.
- uint64_t Size
- - The size of the symbol.
- unsigned int ByteAlignment = 0
- - The alignment of the thread local common symbol if non-zero. This must be a power of 2 on some targets.
¶virtual void emitTPRel32Value(
const llvm::MCExpr* Value)
virtual void emitTPRel32Value(
const llvm::MCExpr* Value)
Description
Emit the expression \p Value into the output as a tprel (32-bit TP relative) value. This is used to implement assembler directives such as .tprelword on targets that support them.
Declared at: llvm/include/llvm/MC/MCStreamer.h:791
Parameters
- const llvm::MCExpr* Value
¶virtual void emitTPRel64Value(
const llvm::MCExpr* Value)
virtual void emitTPRel64Value(
const llvm::MCExpr* Value)
Description
Emit the expression \p Value into the output as a tprel (64-bit TP relative) value. This is used to implement assembler directives such as .tpreldword on targets that support them.
Declared at: llvm/include/llvm/MC/MCStreamer.h:784
Parameters
- const llvm::MCExpr* Value
¶virtual void emitThumbFunc(llvm::MCSymbol* Func)
virtual void emitThumbFunc(llvm::MCSymbol* Func)
Description
Note in the output that the specified \p Func is a Thumb mode function (ARM target only).
Declared at: llvm/include/llvm/MC/MCStreamer.h:525
Parameters
- llvm::MCSymbol* Func
¶void emitULEB128IntValue(uint64_t Value,
unsigned int PadTo = 0)
void emitULEB128IntValue(uint64_t Value,
unsigned int PadTo = 0)
Description
Special case of EmitULEB128Value that avoids the client having to pass in a MCExpr for constant integers.
Declared at: llvm/include/llvm/MC/MCStreamer.h:754
Parameters
- uint64_t Value
- unsigned int PadTo = 0
¶virtual void emitULEB128Value(
const llvm::MCExpr* Value)
virtual void emitULEB128Value(
const llvm::MCExpr* Value)
Declared at: llvm/include/llvm/MC/MCStreamer.h:748
Parameters
- const llvm::MCExpr* Value
¶void emitValue(const llvm::MCExpr* Value,
unsigned int Size,
llvm::SMLoc Loc = llvm::SMLoc())
void emitValue(const llvm::MCExpr* Value,
unsigned int Size,
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:722
Parameters
- const llvm::MCExpr* Value
- unsigned int Size
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitValueImpl(
const llvm::MCExpr* Value,
unsigned int Size,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitValueImpl(
const llvm::MCExpr* Value,
unsigned int Size,
llvm::SMLoc Loc = llvm::SMLoc())
Description
Emit the expression \p Value into the output as a native integer of the given \p Size bytes. This is used to implement assembler directives such as .word, .quad, etc.
Declared at: llvm/include/llvm/MC/MCStreamer.h:719
Parameters
- const llvm::MCExpr* Value
- - The value to emit.
- unsigned int Size
- - The size of the integer (in bytes) to emit. This must match a native machine width.
- llvm::SMLoc Loc = llvm::SMLoc()
- - The location of the expression for error reporting.
¶virtual void emitValueToAlignment(
unsigned int ByteAlignment,
int64_t Value = 0,
unsigned int ValueSize = 1,
unsigned int MaxBytesToEmit = 0)
virtual void emitValueToAlignment(
unsigned int ByteAlignment,
int64_t Value = 0,
unsigned int ValueSize = 1,
unsigned int MaxBytesToEmit = 0)
Description
Emit some number of copies of \p Value until the byte alignment \p ByteAlignment is reached. If the number of bytes need to emit for the alignment is not a multiple of \p ValueSize, then the contents of the emitted fill bytes is undefined. This used to implement the .align assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:856
Parameters
- unsigned int ByteAlignment
- - The alignment to reach. This must be a power of two on some targets.
- int64_t Value = 0
- - The value to use when filling bytes.
- unsigned int ValueSize = 1
- - The size of the integer (in bytes) to emit for\p Value. This must match a native machine width.
- unsigned int MaxBytesToEmit = 0
- - The maximum numbers of bytes to emit, or 0. If the alignment cannot be reached in this many bytes, no bytes are emitted.
¶virtual void emitValueToOffset(
const llvm::MCExpr* Offset,
unsigned char Value,
llvm::SMLoc Loc)
virtual void emitValueToOffset(
const llvm::MCExpr* Offset,
unsigned char Value,
llvm::SMLoc Loc)
Description
Emit some number of copies of \p Value until the byte offset \p Offset is reached. This is used to implement assembler directives such as .org.
Declared at: llvm/include/llvm/MC/MCStreamer.h:883
Parameters
- const llvm::MCExpr* Offset
- - The offset to reach. This may be an expression, but the expression must be associated with the current section.
- unsigned char Value
- - The value to use when filling bytes.
- llvm::SMLoc Loc
¶void emitVersionForTarget(
const llvm::Triple& Target,
const llvm::VersionTuple& SDKVersion,
const llvm::Triple* DarwinTargetVariantTriple,
const llvm::VersionTuple&
DarwinTargetVariantSDKVersion)
void emitVersionForTarget(
const llvm::Triple& Target,
const llvm::VersionTuple& SDKVersion,
const llvm::Triple* DarwinTargetVariantTriple,
const llvm::VersionTuple&
DarwinTargetVariantSDKVersion)
Declared at: llvm/include/llvm/MC/MCStreamer.h:518
Parameters
- const llvm::Triple& Target
- const llvm::VersionTuple& SDKVersion
- const llvm::Triple* DarwinTargetVariantTriple
- const llvm::VersionTuple& DarwinTargetVariantSDKVersion
¶virtual void emitVersionMin(
llvm::MCVersionMinType Type,
unsigned int Major,
unsigned int Minor,
unsigned int Update,
llvm::VersionTuple SDKVersion)
virtual void emitVersionMin(
llvm::MCVersionMinType Type,
unsigned int Major,
unsigned int Minor,
unsigned int Update,
llvm::VersionTuple SDKVersion)
Description
Specify the Mach-O minimum deployment target version.
Declared at: llvm/include/llvm/MC/MCStreamer.h:502
Parameters
- llvm::MCVersionMinType Type
- unsigned int Major
- unsigned int Minor
- unsigned int Update
- llvm::VersionTuple SDKVersion
¶virtual void emitWeakReference(
llvm::MCSymbol* Alias,
const llvm::MCSymbol* Symbol)
virtual void emitWeakReference(
llvm::MCSymbol* Alias,
const llvm::MCSymbol* Symbol)
Description
Emit an weak reference from \p Alias to \p Symbol. This corresponds to an assembler statement such as: .weakref alias, symbol
Declared at: llvm/include/llvm/MC/MCStreamer.h:551
Parameters
- llvm::MCSymbol* Alias
- - The alias that is being created.
- const llvm::MCSymbol* Symbol
- - The symbol being aliased.
¶virtual void emitWinCFIAllocStack(
unsigned int Size,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinCFIAllocStack(
unsigned int Size,
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1057
Parameters
- unsigned int Size
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinCFIEndChained(
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinCFIEndChained(
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1053
Parameters
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinCFIEndProc(
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinCFIEndProc(
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1046
Parameters
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinCFIEndProlog(
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinCFIEndProlog(
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1063
Parameters
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinCFIFuncletOrFuncEnd(
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinCFIFuncletOrFuncEnd(
llvm::SMLoc Loc = llvm::SMLoc())
Description
This is used on platforms, such as Windows on ARM64, that require function or funclet sizes to be emitted in .xdata before the End marker is emitted for the frame. We cannot use the End marker, as it is not set at the point of emitting .xdata, in order to indicate that the frame is active.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1051
Parameters
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinCFIPushFrame(
bool Code,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinCFIPushFrame(
bool Code,
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1062
Parameters
- bool Code
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinCFIPushReg(
llvm::MCRegister Register,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinCFIPushReg(
llvm::MCRegister Register,
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1054
Parameters
- llvm::MCRegister Register
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinCFISaveReg(
llvm::MCRegister Register,
unsigned int Offset,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinCFISaveReg(
llvm::MCRegister Register,
unsigned int Offset,
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1058
Parameters
- llvm::MCRegister Register
- unsigned int Offset
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinCFISaveXMM(
llvm::MCRegister Register,
unsigned int Offset,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinCFISaveXMM(
llvm::MCRegister Register,
unsigned int Offset,
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1060
Parameters
- llvm::MCRegister Register
- unsigned int Offset
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinCFISetFrame(
llvm::MCRegister Register,
unsigned int Offset,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinCFISetFrame(
llvm::MCRegister Register,
unsigned int Offset,
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1055
Parameters
- llvm::MCRegister Register
- unsigned int Offset
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinCFIStartChained(
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinCFIStartChained(
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1052
Parameters
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinCFIStartProc(
const llvm::MCSymbol* Symbol,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinCFIStartProc(
const llvm::MCSymbol* Symbol,
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1045
Parameters
- const llvm::MCSymbol* Symbol
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinEHHandler(
const llvm::MCSymbol* Sym,
bool Unwind,
bool Except,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinEHHandler(
const llvm::MCSymbol* Sym,
bool Unwind,
bool Except,
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1064
Parameters
- const llvm::MCSymbol* Sym
- bool Unwind
- bool Except
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWinEHHandlerData(
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitWinEHHandlerData(
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCStreamer.h:1066
Parameters
- llvm::SMLoc Loc = llvm::SMLoc()
¶virtual void emitWindowsUnwindTables()
virtual void emitWindowsUnwindTables()
Declared at: llvm/include/llvm/MC/MCStreamer.h:265
¶virtual void emitWindowsUnwindTables(
WinEH::FrameInfo* Frame)
virtual void emitWindowsUnwindTables(
WinEH::FrameInfo* Frame)
Declared at: llvm/include/llvm/MC/MCStreamer.h:263
Parameters
- WinEH::FrameInfo* Frame
¶virtual void emitXCOFFLocalCommonSymbol(
llvm::MCSymbol* LabelSym,
uint64_t Size,
llvm::MCSymbol* CsectSym,
unsigned int ByteAlignment)
virtual void emitXCOFFLocalCommonSymbol(
llvm::MCSymbol* LabelSym,
uint64_t Size,
llvm::MCSymbol* CsectSym,
unsigned int ByteAlignment)
Description
Emits an lcomm directive with XCOFF csect information.
Declared at: llvm/include/llvm/MC/MCStreamer.h:608
Parameters
- llvm::MCSymbol* LabelSym
- - Label on the block of storage.
- uint64_t Size
- - The size of the block of storage.
- llvm::MCSymbol* CsectSym
- - Csect name for the block of storage.
- unsigned int ByteAlignment
- - The alignment of the symbol in bytes. Must be a power of 2.
¶virtual void emitXCOFFRefDirective(
llvm::StringRef Sym)
virtual void emitXCOFFRefDirective(
llvm::StringRef Sym)
Description
Emit a XCOFF .ref directive which creates R_REF type entry in the relocation table for one or more symbols.
Declared at: llvm/include/llvm/MC/MCStreamer.h:635
Parameters
- llvm::StringRef Sym
- - The symbol on the .ref directive.
¶virtual void emitXCOFFRenameDirective(
const llvm::MCSymbol* Name,
llvm::StringRef Rename)
virtual void emitXCOFFRenameDirective(
const llvm::MCSymbol* Name,
llvm::StringRef Rename)
Description
Emit a XCOFF .rename directive which creates a synonym for an illegal or undesirable name.
Declared at: llvm/include/llvm/MC/MCStreamer.h:629
Parameters
- const llvm::MCSymbol* Name
- - The name used internally in the assembly for references to the symbol.
- llvm::StringRef Rename
- - The value to which the Name parameter is changed at the end of assembly.
¶virtual void emitXCOFFSymbolLinkageWithVisibility(
llvm::MCSymbol* Symbol,
llvm::MCSymbolAttr Linkage,
llvm::MCSymbolAttr Visibility)
virtual void emitXCOFFSymbolLinkageWithVisibility(
llvm::MCSymbol* Symbol,
llvm::MCSymbolAttr Linkage,
llvm::MCSymbolAttr Visibility)
Description
Emit a symbol's linkage and visibility with a linkage directive for XCOFF.
Declared at: llvm/include/llvm/MC/MCStreamer.h:618
Parameters
- llvm::MCSymbol* Symbol
- - The symbol to emit.
- llvm::MCSymbolAttr Linkage
- - The linkage of the symbol to emit.
- llvm::MCSymbolAttr Visibility
- - The visibility of the symbol to emit or MCSA_Invalid if the symbol does not have an explicit visibility.
¶virtual void emitZerofill(
llvm::MCSection* Section,
llvm::MCSymbol* Symbol = nullptr,
uint64_t Size = 0,
unsigned int ByteAlignment = 0,
llvm::SMLoc Loc = llvm::SMLoc())
virtual void emitZerofill(
llvm::MCSection* Section,
llvm::MCSymbol* Symbol = nullptr,
uint64_t Size = 0,
unsigned int ByteAlignment = 0,
llvm::SMLoc Loc = llvm::SMLoc())
Description
Emit the zerofill section and an optional symbol.
Declared at: llvm/include/llvm/MC/MCStreamer.h:681
Parameters
- llvm::MCSection* Section
- - The zerofill section to create and or to put the symbol
- llvm::MCSymbol* Symbol = nullptr
- - The zerofill symbol to emit, if non-NULL.
- uint64_t Size = 0
- - The size of the zerofill symbol.
- unsigned int ByteAlignment = 0
- - The alignment of the zerofill symbol if non-zero. This must be a power of 2 on some targets.
- llvm::SMLoc Loc = llvm::SMLoc()
¶void emitZeros(uint64_t NumBytes)
void emitZeros(uint64_t NumBytes)
Description
Emit NumBytes worth of zeros. This function properly handles data in virtual sections.
Declared at: llvm/include/llvm/MC/MCStreamer.h:837
Parameters
- uint64_t NumBytes
¶virtual void endCOFFSymbolDef()
virtual void endCOFFSymbolDef()
Description
Marks the end of the symbol definition.
Declared at: llvm/include/llvm/MC/MCStreamer.h:579
¶llvm::MCSymbol* endSection(
llvm::MCSection* Section)
llvm::MCSymbol* endSection(
llvm::MCSection* Section)
Declared at: llvm/include/llvm/MC/MCStreamer.h:465
Parameters
- llvm::MCSection* Section
¶void finish(llvm::SMLoc EndLoc = llvm::SMLoc())
void finish(llvm::SMLoc EndLoc = llvm::SMLoc())
Description
Finish emission of machine code.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1122
Parameters
- llvm::SMLoc EndLoc = llvm::SMLoc()
¶virtual void finishImpl()
virtual void finishImpl()
Description
Streamer specific finalization.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1120
¶void generateCompactUnwindEncodings(
llvm::MCAsmBackend* MAB)
void generateCompactUnwindEncodings(
llvm::MCAsmBackend* MAB)
Declared at: llvm/include/llvm/MC/MCStreamer.h:325
Parameters
- llvm::MCAsmBackend* MAB
¶bool getAllowAutoPadding() const
bool getAllowAutoPadding() const
Declared at: llvm/include/llvm/MC/MCStreamer.h:305
¶virtual llvm::MCAssembler* getAssemblerPtr()
virtual llvm::MCAssembler* getAssemblerPtr()
Declared at: llvm/include/llvm/MC/MCStreamer.h:295
¶llvm::MCSection* getAssociatedPDataSection(
const llvm::MCSection* TextSec)
llvm::MCSection* getAssociatedPDataSection(
const llvm::MCSection* TextSec)
Description
Get the .pdata section used for the given section. Typically the given section is either the main .text section or some other COMDAT .text section, but it may be any section containing code.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1074
Parameters
- const llvm::MCSection* TextSec
¶llvm::MCSection* getAssociatedXDataSection(
const llvm::MCSection* TextSec)
llvm::MCSection* getAssociatedXDataSection(
const llvm::MCSection* TextSec)
Description
Get the .xdata section used for the given section.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1077
Parameters
- const llvm::MCSection* TextSec
¶virtual llvm::raw_ostream& getCommentOS()
virtual llvm::raw_ostream& getCommentOS()
Description
Return a raw_ostream that comments can be written to. Unlike AddComment, you are required to terminate comments with \nif you use this method.
Declared at: llvm/include/llvm/MC/MCStreamer.h:360
¶llvm::MCContext& getContext() const
llvm::MCContext& getContext() const
Declared at: llvm/include/llvm/MC/MCStreamer.h:293
¶llvm::MCDwarfFrameInfo* getCurrentDwarfFrameInfo()
llvm::MCDwarfFrameInfo* getCurrentDwarfFrameInfo()
Declared at: llvm/include/llvm/MC/MCStreamer.h:217
¶llvm::MCSectionSubPair getCurrentSection() const
llvm::MCSectionSubPair getCurrentSection() const
Description
Return the current section that the streamer is emitting code to.
Declared at: llvm/include/llvm/MC/MCStreamer.h:384
¶llvm::MCSection* getCurrentSectionOnly() const
llvm::MCSection* getCurrentSectionOnly() const
Declared at: llvm/include/llvm/MC/MCStreamer.h:389
¶WinEH::FrameInfo* getCurrentWinFrameInfo()
WinEH::FrameInfo* getCurrentWinFrameInfo()
Declared at: llvm/include/llvm/MC/MCStreamer.h:259
¶ArrayRef<llvm::MCDwarfFrameInfo>
getDwarfFrameInfos() const
ArrayRef<llvm::MCDwarfFrameInfo>
getDwarfFrameInfos() const
Declared at: llvm/include/llvm/MC/MCStreamer.h:316
¶virtual llvm::MCSymbol* getDwarfLineTableSymbol(
unsigned int CUID)
virtual llvm::MCSymbol* getDwarfLineTableSymbol(
unsigned int CUID)
Declared at: llvm/include/llvm/MC/MCStreamer.h:1018
Parameters
- unsigned int CUID
¶virtual llvm::StringRef getMnemonic(
llvm::MCInst& MI)
virtual llvm::StringRef getMnemonic(
llvm::MCInst& MI)
Description
Returns the mnemonic for \p MI, if the streamer has access to a instruction printer and returns an empty string otherwise.
Declared at: llvm/include/llvm/MC/MCStreamer.h:475
Parameters
- llvm::MCInst& MI
¶unsigned int getNumFrameInfos()
unsigned int getNumFrameInfos()
Declared at: llvm/include/llvm/MC/MCStreamer.h:315
¶unsigned int getNumWinFrameInfos()
unsigned int getNumWinFrameInfos()
Declared at: llvm/include/llvm/MC/MCStreamer.h:320
¶llvm::MCSectionSubPair getPreviousSection() const
llvm::MCSectionSubPair getPreviousSection() const
Description
Return the previous section that the streamer is emitting code to.
Declared at: llvm/include/llvm/MC/MCStreamer.h:392
¶llvm::SMLoc getStartTokLoc() const
llvm::SMLoc getStartTokLoc() const
Declared at: llvm/include/llvm/MC/MCStreamer.h:285
¶unsigned int getSymbolOrder(
const llvm::MCSymbol* Sym) const
unsigned int getSymbolOrder(
const llvm::MCSymbol* Sym) const
Description
Returns an index to represent the order a symbol was emitted in. (zero if we did not emit that symbol)
Declared at: llvm/include/llvm/MC/MCStreamer.h:400
Parameters
- const llvm::MCSymbol* Sym
¶llvm::MCTargetStreamer* getTargetStreamer()
llvm::MCTargetStreamer* getTargetStreamer()
Declared at: llvm/include/llvm/MC/MCStreamer.h:300
¶bool getUseAssemblerInfoForParsing()
bool getUseAssemblerInfoForParsing()
Declared at: llvm/include/llvm/MC/MCStreamer.h:298
¶ArrayRef<std::unique_ptr<WinEH::FrameInfo>>
getWinFrameInfos() const
ArrayRef<std::unique_ptr<WinEH::FrameInfo>>
getWinFrameInfos() const
Declared at: llvm/include/llvm/MC/MCStreamer.h:321
¶virtual bool hasRawTextSupport() const
virtual bool hasRawTextSupport() const
Description
Return true if this asm streamer supports emitting unformatted text to the .s file with EmitRawText.
Declared at: llvm/include/llvm/MC/MCStreamer.h:336
¶bool hasUnfinishedDwarfFrameInfo()
bool hasUnfinishedDwarfFrameInfo()
Declared at: llvm/include/llvm/MC/MCStreamer.h:318
¶virtual void initSections(
bool NoExecStack,
const llvm::MCSubtargetInfo& STI)
virtual void initSections(
bool NoExecStack,
const llvm::MCSubtargetInfo& STI)
Description
Create the default sections and set the initial one.
Declared at: llvm/include/llvm/MC/MCStreamer.h:463
Parameters
- bool NoExecStack
- const llvm::MCSubtargetInfo& STI
¶virtual bool isIntegratedAssemblerRequired() const
virtual bool isIntegratedAssemblerRequired() const
Description
Is the integrated assembler required for this streamer to function correctly?
Declared at: llvm/include/llvm/MC/MCStreamer.h:340
¶virtual bool isVerboseAsm() const
virtual bool isVerboseAsm() const
Description
Return true if this streamer supports verbose assembly and if it is enabled.
Declared at: llvm/include/llvm/MC/MCStreamer.h:332
¶virtual bool mayHaveInstructions(
llvm::MCSection& Sec) const
virtual bool mayHaveInstructions(
llvm::MCSection& Sec) const
Declared at: llvm/include/llvm/MC/MCStreamer.h:1124
Parameters
- llvm::MCSection& Sec
¶void maybeEmitDwarf64Mark()
void maybeEmitDwarf64Mark()
Description
Emit a special value of 0xffffffff if producing 64-bit debugging info.
Declared at: llvm/include/llvm/MC/MCStreamer.h:1127
¶bool popSection()
bool popSection()
Description
Restore the current and previous section from the section stack. Calls changeSection as needed. Returns false if the stack was empty.
Declared at: llvm/include/llvm/MC/MCStreamer.h:420
¶void pushSection()
void pushSection()
Description
Save the current and previous section on the section stack.
Declared at: llvm/include/llvm/MC/MCStreamer.h:411
¶virtual void reset()
virtual void reset()
Description
State management
Declared at: llvm/include/llvm/MC/MCStreamer.h:291
¶void setAllowAutoPadding(bool v)
void setAllowAutoPadding(bool v)
Declared at: llvm/include/llvm/MC/MCStreamer.h:304
Parameters
- bool v
¶void setStartTokLocPtr(const llvm::SMLoc* Loc)
void setStartTokLocPtr(const llvm::SMLoc* Loc)
Declared at: llvm/include/llvm/MC/MCStreamer.h:284
Parameters
- const llvm::SMLoc* Loc
¶void setTargetStreamer(llvm::MCTargetStreamer* TS)
void setTargetStreamer(llvm::MCTargetStreamer* TS)
Declared at: llvm/include/llvm/MC/MCStreamer.h:280
Parameters
¶void setUseAssemblerInfoForParsing(bool v)
void setUseAssemblerInfoForParsing(bool v)
Declared at: llvm/include/llvm/MC/MCStreamer.h:297
Parameters
- bool v
¶bool subSection(const llvm::MCExpr* Subsection)
bool subSection(const llvm::MCExpr* Subsection)
Declared at: llvm/include/llvm/MC/MCStreamer.h:435
Parameters
- const llvm::MCExpr* Subsection
¶virtual void switchSection(
llvm::MCSection* Section,
const llvm::MCExpr* Subsection = nullptr)
virtual void switchSection(
llvm::MCSection* Section,
const llvm::MCExpr* Subsection = nullptr)
Description
Set the current section where code is being emitted to \p Section. This is required to update CurSection. This corresponds to assembler directives like .section, .text, etc.
Declared at: llvm/include/llvm/MC/MCStreamer.h:447
Parameters
- llvm::MCSection* Section
- const llvm::MCExpr* Subsection = nullptr
¶void switchSectionNoChange(
llvm::MCSection* Section,
const llvm::MCExpr* Subsection = nullptr)
void switchSectionNoChange(
llvm::MCSection* Section,
const llvm::MCExpr* Subsection = nullptr)
Description
Set the current section where code is being emitted to \p Section. This is required to update CurSection. This version does not call changeSection.
Declared at: llvm/include/llvm/MC/MCStreamer.h:453
Parameters
- llvm::MCSection* Section
- const llvm::MCExpr* Subsection = nullptr
¶virtual Expected<unsigned int>
tryEmitDwarfFileDirective(
unsigned int FileNo,
llvm::StringRef Directory,
llvm::StringRef Filename,
Optional<MD5::MD5Result> Checksum = None,
Optional<llvm::StringRef> Source = None,
unsigned int CUID = 0)
virtual Expected<unsigned int>
tryEmitDwarfFileDirective(
unsigned int FileNo,
llvm::StringRef Directory,
llvm::StringRef Filename,
Optional<MD5::MD5Result> Checksum = None,
Optional<llvm::StringRef> Source = None,
unsigned int CUID = 0)
Description
Associate a filename with a specified logical file number. Also associate a directory, optional checksum, and optional source text with the logical file. This implements the DWARF2 '.file 4 "dir/foo.c"' assembler directive, and the DWARF5 '.file 4 "dir/foo.c" md5 "..." source "..."' assembler directive.
Declared at: llvm/include/llvm/MC/MCStreamer.h:917
Parameters
- unsigned int FileNo
- llvm::StringRef Directory
- llvm::StringRef Filename
- Optional<MD5::MD5Result> Checksum = None
- Optional<llvm::StringRef> Source = None
- unsigned int CUID = 0
¶void visitUsedExpr(const llvm::MCExpr& Expr)
void visitUsedExpr(const llvm::MCExpr& Expr)
Declared at: llvm/include/llvm/MC/MCStreamer.h:277
Parameters
- const llvm::MCExpr& Expr
¶virtual void visitUsedSymbol(
const llvm::MCSymbol& Sym)
virtual void visitUsedSymbol(
const llvm::MCSymbol& Sym)
Declared at: llvm/include/llvm/MC/MCStreamer.h:278
Parameters
- const llvm::MCSymbol& Sym
¶virtual ~MCStreamer()
virtual ~MCStreamer()
Declared at: llvm/include/llvm/MC/MCStreamer.h:275