| 
    LLVM 22.0.0git
    
   | 
 
#include "llvm/MC/MCWinCOFFStreamer.h"
Public Member Functions | |
| MCWinCOFFStreamer (MCContext &Context, std::unique_ptr< MCAsmBackend > MAB, std::unique_ptr< MCCodeEmitter > CE, std::unique_ptr< MCObjectWriter > OW) | |
| void | reset () override | 
| state management   | |
| WinCOFFObjectWriter & | getWriter () | 
MCStreamer interface  | |
| void | initSections (bool NoExecStack, const MCSubtargetInfo &STI) override | 
| Create the default sections and set the initial one.   | |
| void | changeSection (MCSection *Section, uint32_t Subsection=0) override | 
| This is called by popSection and switchSection, if the current section changes.   | |
| void | emitLabel (MCSymbol *Symbol, SMLoc Loc=SMLoc()) override | 
Emit a label for Symbol into the current section.   | |
| bool | emitSymbolAttribute (MCSymbol *Symbol, MCSymbolAttr Attribute) override | 
Add the given Attribute to Symbol.   | |
| void | emitSymbolDesc (MCSymbol *Symbol, unsigned DescValue) override | 
Set the DescValue for the Symbol.   | |
| void | beginCOFFSymbolDef (MCSymbol const *Symbol) override | 
| Start emitting COFF symbol definition.   | |
| void | emitCOFFSymbolStorageClass (int StorageClass) override | 
| Emit the storage class of the symbol.   | |
| void | emitCOFFSymbolType (int Type) override | 
| Emit the type of the symbol.   | |
| void | endCOFFSymbolDef () override | 
| Marks the end of the symbol definition.   | |
| void | emitCOFFSafeSEH (MCSymbol const *Symbol) override | 
| void | emitCOFFSymbolIndex (MCSymbol const *Symbol) override | 
| Emits the symbol table index of a Symbol into the current section.   | |
| void | emitCOFFSectionIndex (MCSymbol const *Symbol) override | 
| Emits a COFF section index.   | |
| void | emitCOFFSecRel32 (MCSymbol const *Symbol, uint64_t Offset) override | 
| Emits a COFF section relative relocation.   | |
| void | emitCOFFImgRel32 (MCSymbol const *Symbol, int64_t Offset) override | 
| Emits a COFF image relative relocation.   | |
| void | emitCOFFSecNumber (MCSymbol const *Symbol) override | 
| Emits the physical number of the section containing the given symbol as assigned during object writing (i.e., this is not a runtime relocation).   | |
| void | emitCOFFSecOffset (MCSymbol const *Symbol) override | 
| Emits the offset of the symbol from the beginning of the section during object writing (i.e., this is not a runtime relocation).   | |
| void | emitCommonSymbol (MCSymbol *Symbol, uint64_t Size, Align ByteAlignment) override | 
| Emit a common symbol.   | |
| void | emitLocalCommonSymbol (MCSymbol *Symbol, uint64_t Size, Align ByteAlignment) override | 
| Emit a local common (.lcomm) symbol.   | |
| void | emitWeakReference (MCSymbol *Alias, const MCSymbol *Symbol) override | 
Emit an weak reference from Alias to Symbol.   | |
| void | emitIdent (StringRef IdentString) override | 
| Emit the "identifiers" directive.   | |
| void | emitWinEHHandlerData (SMLoc Loc) override | 
| void | emitCGProfileEntry (const MCSymbolRefExpr *From, const MCSymbolRefExpr *To, uint64_t Count) override | 
| void | finishImpl () override | 
| Streamer specific finalization.   | |
| Public Member Functions inherited from llvm::MCObjectStreamer | |
| bool | isIntegratedAssemblerRequired () const override | 
| Object streamers require the integrated assembler.   | |
| void | emitFrames (MCAsmBackend *MAB) | 
| MCSymbol * | emitCFILabel () override | 
| When emitting an object file, create and emit a real label.   | |
| void | emitCFISections (bool EH, bool Debug, bool SFrame) override | 
| void | visitUsedSymbol (const MCSymbol &Sym) override | 
| MCAssembler & | getAssembler () | 
| MCAssembler * | getAssemblerPtr () override | 
| uint8_t * | getCurFragEnd () const | 
| MCFragment * | allocFragSpace (size_t Headroom) | 
| void | newFragment () | 
| template<typename FT, typename... Args> | |
| FT * | newSpecialFragment (Args &&...args) | 
| void | ensureHeadroom (size_t Headroom) | 
| void | appendContents (ArrayRef< char > Contents) | 
| void | appendContents (size_t Num, uint8_t Elt) | 
| void | addFixup (const MCExpr *Value, MCFixupKind Kind) | 
| virtual void | emitLabelAtPos (MCSymbol *Symbol, SMLoc Loc, MCFragment &F, uint64_t Offset) | 
| void | emitAssignment (MCSymbol *Symbol, const MCExpr *Value) override | 
Emit an assignment of Value to Symbol.   | |
| void | emitConditionalAssignment (MCSymbol *Symbol, const MCExpr *Value) override | 
Emit an assignment of Value to Symbol, but only if Value is also emitted.   | |
| void | emitValueImpl (const MCExpr *Value, unsigned Size, SMLoc Loc=SMLoc()) override | 
Emit the expression Value into the output as a native integer of the given Size bytes.   | |
| void | emitULEB128Value (const MCExpr *Value) override | 
| void | emitSLEB128Value (const MCExpr *Value) override | 
| void | emitInstruction (const MCInst &Inst, const MCSubtargetInfo &STI) override | 
Emit the given Instruction into the current section.   | |
| void | emitInstToFragment (const MCInst &Inst, const MCSubtargetInfo &) | 
| Emit an instruction to a special fragment, because this instruction can change its size during relaxation.   | |
| void | emitBytes (StringRef Data) override | 
Emit the bytes in Data into the output.   | |
| void | emitValueToAlignment (Align Alignment, int64_t Fill=0, uint8_t FillLen=1, unsigned MaxBytesToEmit=0) override | 
Emit some number of copies of Value until the byte alignment ByteAlignment is reached.   | |
| void | emitCodeAlignment (Align ByteAlignment, const MCSubtargetInfo *STI, unsigned MaxBytesToEmit=0) override | 
Emit nops until the byte alignment ByteAlignment is reached.   | |
| void | emitValueToOffset (const MCExpr *Offset, unsigned char Value, SMLoc Loc) override | 
Emit some number of copies of Value until the byte offset Offset is reached.   | |
| void | emitDwarfLocDirective (unsigned FileNo, unsigned Line, unsigned Column, unsigned Flags, unsigned Isa, unsigned Discriminator, StringRef FileName, StringRef Comment={}) override | 
| This implements the DWARF2 '.loc fileno lineno ...' assembler directive.   | |
| void | emitDwarfAdvanceLineAddr (int64_t LineDelta, const MCSymbol *LastLabel, const MCSymbol *Label, unsigned PointerSize) override | 
| 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.   | |
| void | emitDwarfLineEndEntry (MCSection *Section, MCSymbol *LastLabel, MCSymbol *EndLabel=nullptr) override | 
| Emit the debug line end entry.   | |
| void | emitDwarfAdvanceFrameAddr (const MCSymbol *LastLabel, const MCSymbol *Label, SMLoc Loc) | 
| void | emitSFrameCalculateFuncOffset (const MCSymbol *FunCabsel, const MCSymbol *FREBegin, MCFragment *FDEFrag, SMLoc Loc) | 
| void | emitCVLocDirective (unsigned FunctionId, unsigned FileNo, unsigned Line, unsigned Column, bool PrologueEnd, bool IsStmt, StringRef FileName, SMLoc Loc) override | 
| This implements the CodeView '.cv_loc' assembler directive.   | |
| void | emitCVLinetableDirective (unsigned FunctionId, const MCSymbol *Begin, const MCSymbol *End) override | 
| This implements the CodeView '.cv_linetable' assembler directive.   | |
| void | emitCVInlineLinetableDirective (unsigned PrimaryFunctionId, unsigned SourceFileId, unsigned SourceLineNum, const MCSymbol *FnStartSym, const MCSymbol *FnEndSym) override | 
| This implements the CodeView '.cv_inline_linetable' assembler directive.   | |
| void | emitCVDefRangeDirective (ArrayRef< std::pair< const MCSymbol *, const MCSymbol * > > Ranges, StringRef FixedSizePortion) override | 
| This implements the CodeView '.cv_def_range' assembler directive.   | |
| void | emitCVStringTableDirective () override | 
| This implements the CodeView '.cv_stringtable' assembler directive.   | |
| void | emitCVFileChecksumsDirective () override | 
| This implements the CodeView '.cv_filechecksums' assembler directive.   | |
| void | emitCVFileChecksumOffsetDirective (unsigned FileNo) override | 
| This implements the CodeView '.cv_filechecksumoffset' assembler directive.   | |
| void | emitRelocDirective (const MCExpr &Offset, StringRef Name, const MCExpr *Expr, SMLoc Loc={}) override | 
| Record a relocation described by the .reloc directive.   | |
| void | emitFill (const MCExpr &NumBytes, uint64_t FillValue, SMLoc Loc=SMLoc()) override | 
Emit Size bytes worth of the value specified by FillValue.   | |
| void | emitFill (const MCExpr &NumValues, int64_t Size, int64_t Expr, SMLoc Loc=SMLoc()) override | 
Emit NumValues copies of Size bytes.   | |
| void | emitNops (int64_t NumBytes, int64_t ControlledNopLength, SMLoc Loc, const MCSubtargetInfo &STI) override | 
| void | emitFileDirective (StringRef Filename) override | 
| Switch to a new logical file.   | |
| void | emitFileDirective (StringRef Filename, StringRef CompilerVersion, StringRef TimeStamp, StringRef Description) override | 
| Emit ".file assembler diretive with additioal info.   | |
| void | emitAddrsig () override | 
| void | emitAddrsigSym (const MCSymbol *Sym) override | 
| void | emitAbsoluteSymbolDiff (const MCSymbol *Hi, const MCSymbol *Lo, unsigned Size) override | 
| Emit the absolute difference between two symbols if possible.   | |
| void | emitAbsoluteSymbolDiffAsULEB128 (const MCSymbol *Hi, const MCSymbol *Lo) override | 
| Emit the absolute difference between two symbols encoded with ULEB128.   | |
| bool | mayHaveInstructions (MCSection &Sec) const override | 
| void | emitPendingAssignments (MCSymbol *Symbol) | 
Emits pending conditional assignments that depend on Symbol being emitted.   | |
| void | emitFill (uint64_t NumBytes, uint8_t FillValue) | 
| Emit NumBytes bytes worth of the value specified by FillValue.   | |
| Public Member Functions inherited from llvm::MCStreamer | |
| MCStreamer (const MCStreamer &)=delete | |
| MCStreamer & | operator= (const MCStreamer &)=delete | 
| virtual | ~MCStreamer () | 
| void | visitUsedExpr (const MCExpr &Expr) | 
| void | setTargetStreamer (MCTargetStreamer *TS) | 
| void | setStartTokLocPtr (const SMLoc *Loc) | 
| SMLoc | getStartTokLoc () const | 
| MCContext & | getContext () const | 
| bool | isObj () const | 
| void | setUseAssemblerInfoForParsing (bool v) | 
| bool | getUseAssemblerInfoForParsing () | 
| MCTargetStreamer * | getTargetStreamer () | 
| void | setAllowAutoPadding (bool v) | 
| bool | getAllowAutoPadding () const | 
| MCSymbol * | emitLineTableLabel () | 
| WinEH::FrameInfo * | EnsureValidWinFrameInfo (SMLoc Loc) | 
| Retrieve the current frame info if one is available and it is not yet closed.   | |
| unsigned | getNumFrameInfos () | 
| ArrayRef< MCDwarfFrameInfo > | getDwarfFrameInfos () const | 
| bool | hasUnfinishedDwarfFrameInfo () | 
| unsigned | getNumWinFrameInfos () | 
| ArrayRef< std::unique_ptr< WinEH::FrameInfo > > | getWinFrameInfos () const | 
| WinEH::FrameInfo::Epilog * | getCurrentWinEpilog () const | 
| bool | isInEpilogCFI () const | 
| void | generateCompactUnwindEncodings (MCAsmBackend *MAB) | 
| unsigned | emitDwarfFileDirective (unsigned FileNo, StringRef Directory, StringRef Filename, std::optional< MD5::MD5Result > Checksum=std::nullopt, std::optional< StringRef > Source=std::nullopt, unsigned CUID=0) | 
| Associate a filename with a specified logical file number.   | |
| virtual Expected< unsigned > | tryEmitDwarfFileDirective (unsigned FileNo, StringRef Directory, StringRef Filename, std::optional< MD5::MD5Result > Checksum=std::nullopt, std::optional< StringRef > Source=std::nullopt, unsigned CUID=0) | 
| Associate a filename with a specified logical file number.   | |
| virtual void | emitDwarfFile0Directive (StringRef Directory, StringRef Filename, std::optional< MD5::MD5Result > Checksum, std::optional< StringRef > Source, unsigned CUID=0) | 
| Specify the "root" file of the compilation, using the ".file 0" extension.   | |
| virtual void | emitCFIBKeyFrame () | 
| virtual void | emitCFIMTETaggedFrame () | 
| virtual void | emitDwarfLocLabelDirective (SMLoc Loc, StringRef Name) | 
| This implements the '.loc_label Name' directive.   | |
| virtual bool | emitCVFileDirective (unsigned FileNo, StringRef Filename, ArrayRef< uint8_t > Checksum, unsigned ChecksumKind) | 
| Associate a filename with a specified logical file number, and also specify that file's checksum information.   | |
| virtual bool | emitCVFuncIdDirective (unsigned FunctionId) | 
| Introduces a function id for use with .cv_loc.   | |
| virtual bool | emitCVInlineSiteIdDirective (unsigned FunctionId, unsigned IAFunc, unsigned IAFile, unsigned IALine, unsigned IACol, SMLoc Loc) | 
| Introduces an inline call site id for use with .cv_loc.   | |
| 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::DefRangeSubfieldRegisterHeader 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::DefRangeFramePointerRelHeader DRHdr) | 
| virtual void | emitCVFPOData (const MCSymbol *ProcSym, SMLoc Loc={}) | 
| This implements the CodeView '.cv_fpo_data' assembler directive.   | |
| virtual MCSymbol * | getDwarfLineTableSymbol (unsigned CUID) | 
| void | emitCFIStartProc (bool IsSimple, SMLoc Loc=SMLoc()) | 
| void | emitCFIEndProc () | 
| virtual void | emitCFIDefCfa (int64_t Register, int64_t Offset, SMLoc Loc={}) | 
| virtual void | emitCFIDefCfaOffset (int64_t Offset, SMLoc Loc={}) | 
| virtual void | emitCFIDefCfaRegister (int64_t Register, SMLoc Loc={}) | 
| virtual void | emitCFILLVMDefAspaceCfa (int64_t Register, int64_t Offset, int64_t AddressSpace, SMLoc Loc={}) | 
| virtual void | emitCFIOffset (int64_t Register, int64_t Offset, SMLoc Loc={}) | 
| virtual void | emitCFIPersonality (const MCSymbol *Sym, unsigned Encoding) | 
| virtual void | emitCFILsda (const MCSymbol *Sym, unsigned Encoding) | 
| virtual void | emitCFIRememberState (SMLoc Loc) | 
| virtual void | emitCFIRestoreState (SMLoc Loc) | 
| virtual void | emitCFISameValue (int64_t Register, SMLoc Loc={}) | 
| virtual void | emitCFIRestore (int64_t Register, SMLoc Loc={}) | 
| virtual void | emitCFIRelOffset (int64_t Register, int64_t Offset, SMLoc Loc) | 
| virtual void | emitCFIAdjustCfaOffset (int64_t Adjustment, SMLoc Loc={}) | 
| virtual void | emitCFIEscape (StringRef Values, SMLoc Loc={}) | 
| virtual void | emitCFIReturnColumn (int64_t Register) | 
| virtual void | emitCFIGnuArgsSize (int64_t Size, SMLoc Loc={}) | 
| virtual void | emitCFISignalFrame () | 
| virtual void | emitCFIUndefined (int64_t Register, SMLoc Loc={}) | 
| virtual void | emitCFIRegister (int64_t Register1, int64_t Register2, SMLoc Loc={}) | 
| virtual void | emitCFIWindowSave (SMLoc Loc={}) | 
| virtual void | emitCFINegateRAState (SMLoc Loc={}) | 
| virtual void | emitCFINegateRAStateWithPC (SMLoc Loc={}) | 
| virtual void | emitCFILabelDirective (SMLoc Loc, StringRef Name) | 
| virtual void | emitCFIValOffset (int64_t Register, int64_t Offset, SMLoc Loc={}) | 
| virtual void | emitWinCFIStartProc (const MCSymbol *Symbol, SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFIEndProc (SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFIFuncletOrFuncEnd (SMLoc Loc=SMLoc()) | 
| 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.   | |
| virtual void | emitWinCFIStartChained (SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFIEndChained (SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFIPushReg (MCRegister Register, SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFISetFrame (MCRegister Register, unsigned Offset, SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFIAllocStack (unsigned Size, SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFISaveReg (MCRegister Register, unsigned Offset, SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFISaveXMM (MCRegister Register, unsigned Offset, SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFIPushFrame (bool Code, SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFIEndProlog (SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFIBeginEpilogue (SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFIEndEpilogue (SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFIUnwindV2Start (SMLoc Loc=SMLoc()) | 
| virtual void | emitWinCFIUnwindVersion (uint8_t Version, SMLoc Loc=SMLoc()) | 
| virtual void | emitWinEHHandler (const MCSymbol *Sym, bool Unwind, bool Except, SMLoc Loc=SMLoc()) | 
| MCSection * | getAssociatedPDataSection (const MCSection *TextSec) | 
| Get the .pdata section used for the given section.   | |
| MCSection * | getAssociatedXDataSection (const MCSection *TextSec) | 
| Get the .xdata section used for the given section.   | |
| virtual void | emitSyntaxDirective () | 
| virtual void | emitPseudoProbe (uint64_t Guid, uint64_t Index, uint64_t Type, uint64_t Attr, uint64_t Discriminator, const MCPseudoProbeInlineStack &InlineStack, MCSymbol *FnSym) | 
| Emit the a pseudo probe into the current section.   | |
| void | emitRawText (const Twine &String) | 
| If this file is backed by a assembly streamer, this dumps the specified string in the output .s file.   | |
| void | finish (SMLoc EndLoc=SMLoc()) | 
| Finish emission of machine code.   | |
| void | maybeEmitDwarf64Mark () | 
| Emit a special value of 0xffffffff if producing 64-bit debugging info.   | |
| virtual void | emitDwarfUnitLength (uint64_t Length, const Twine &Comment) | 
| Emit a unit length field.   | |
| virtual MCSymbol * | emitDwarfUnitLength (const Twine &Prefix, const Twine &Comment) | 
| Emit a unit length field.   | |
| virtual void | emitDwarfLineStartLabel (MCSymbol *StartSym) | 
| Emit the debug line start label.   | |
| virtual bool | isVerboseAsm () const | 
| Return true if this streamer supports verbose assembly and if it is enabled.   | |
| virtual bool | hasRawTextSupport () const | 
| Return true if this asm streamer supports emitting unformatted text to the .s file with EmitRawText.   | |
| virtual void | AddComment (const Twine &T, bool EOL=true) | 
| Add a textual comment.   | |
| virtual raw_ostream & | getCommentOS () | 
| Return a raw_ostream that comments can be written to.   | |
| virtual void | emitRawComment (const Twine &T, bool TabPrefix=true) | 
| Print T and prefix it with the comment string (normally #) and optionally a tab.   | |
| virtual void | addExplicitComment (const Twine &T) | 
| Add explicit comment T.   | |
| virtual void | emitExplicitComments () | 
| Emit added explicit comments.   | |
| virtual void | addBlankLine () | 
| Emit a blank line to a .s file to pretty it up.   | |
| MCSectionSubPair | getCurrentSection () const | 
| Return the current section that the streamer is emitting code to.   | |
| MCSection * | getCurrentSectionOnly () const | 
| MCSectionSubPair | getPreviousSection () const | 
| Return the previous section that the streamer is emitting code to.   | |
| MCFragment * | getCurrentFragment () const | 
| size_t | getCurFragSize () const | 
| void | pushSection () | 
| Save the current and previous section on the section stack.   | |
| virtual bool | popSection () | 
| Restore the current and previous section from the section stack.   | |
| virtual void | switchSection (MCSection *Section, uint32_t Subsec=0) | 
Set the current section where code is being emitted to Section.   | |
| bool | switchSection (MCSection *Section, const MCExpr *) | 
| void | switchSectionNoPrint (MCSection *Section) | 
| Similar to switchSection, but does not print the section directive.   | |
| MCSymbol * | endSection (MCSection *Section) | 
| virtual StringRef | getMnemonic (const MCInst &MI) const | 
Returns the mnemonic for MI, if the streamer has access to a instruction printer and returns an empty string otherwise.   | |
| virtual void | emitEHSymAttributes (const MCSymbol *Symbol, MCSymbol *EHSymbol) | 
| virtual void | emitSubsectionsViaSymbols () | 
| Emit a .subsection_via_symbols directive.   | |
| virtual void | emitLinkerOptions (ArrayRef< std::string > Kind) | 
Emit the given list Options of strings as linker options into the output.   | |
| virtual void | emitDataRegion (MCDataRegionType Kind) | 
Note in the output the specified region Kind.   | |
| virtual void | emitVersionMin (MCVersionMinType Type, unsigned Major, unsigned Minor, unsigned Update, VersionTuple SDKVersion) | 
| Specify the Mach-O minimum deployment target version.   | |
| virtual void | emitBuildVersion (unsigned Platform, unsigned Major, unsigned Minor, unsigned Update, VersionTuple SDKVersion) | 
| Emit/Specify Mach-O build version command.   | |
| virtual void | emitDarwinTargetVariantBuildVersion (unsigned Platform, unsigned Major, unsigned Minor, unsigned Update, VersionTuple SDKVersion) | 
| void | emitVersionForTarget (const Triple &Target, const VersionTuple &SDKVersion, const Triple *DarwinTargetVariantTriple, const VersionTuple &DarwinTargetVariantSDKVersion) | 
| virtual void | emitXCOFFLocalCommonSymbol (MCSymbol *LabelSym, uint64_t Size, MCSymbol *CsectSym, Align Alignment) | 
| Emits an lcomm directive with XCOFF csect information.   | |
| virtual void | emitXCOFFSymbolLinkageWithVisibility (MCSymbol *Symbol, MCSymbolAttr Linkage, MCSymbolAttr Visibility) | 
| Emit a symbol's linkage and visibility with a linkage directive for XCOFF.   | |
| virtual void | emitXCOFFRenameDirective (const MCSymbol *Name, StringRef Rename) | 
| Emit a XCOFF .rename directive which creates a synonym for an illegal or undesirable name.   | |
| virtual void | emitXCOFFExceptDirective (const MCSymbol *Symbol, const MCSymbol *Trap, unsigned Lang, unsigned Reason, unsigned FunctionSize, bool hasDebug) | 
| Emit an XCOFF .except directive which adds information about a trap instruction to the object file exception section.   | |
| virtual void | emitXCOFFRefDirective (const MCSymbol *Symbol) | 
| Emit a XCOFF .ref directive which creates R_REF type entry in the relocation table for one or more symbols.   | |
| virtual void | emitXCOFFCInfoSym (StringRef Name, StringRef Metadata) | 
| Emit a C_INFO symbol with XCOFF embedded metadata to the .info section.   | |
| virtual void | emitELFSize (MCSymbol *Symbol, const MCExpr *Value) | 
| Emit an ELF .size directive.   | |
| virtual void | emitELFSymverDirective (const MCSymbol *OriginalSym, StringRef Name, bool KeepOriginalSym) | 
| Emit an ELF .symver directive.   | |
| virtual void | emitLOHDirective (MCLOHType Kind, const MCLOHArgs &Args) | 
| Emit a Linker Optimization Hint (LOH) directive.   | |
| virtual void | emitGNUAttribute (unsigned Tag, unsigned Value) | 
| Emit a .gnu_attribute directive.   | |
| virtual void | emitZerofill (MCSection *Section, MCSymbol *Symbol=nullptr, uint64_t Size=0, Align ByteAlignment=Align(1), SMLoc Loc=SMLoc()) | 
| Emit the zerofill section and an optional symbol.   | |
| virtual void | emitTBSSSymbol (MCSection *Section, MCSymbol *Symbol, uint64_t Size, Align ByteAlignment=Align(1)) | 
| Emit a thread local bss (.tbss) symbol.   | |
| virtual void | emitBinaryData (StringRef Data) | 
| Functionally identical to EmitBytes.   | |
| void | emitValue (const MCExpr *Value, unsigned Size, SMLoc Loc=SMLoc()) | 
| virtual void | emitIntValue (uint64_t Value, unsigned Size) | 
| Special case of EmitValue that avoids the client having to pass in a MCExpr for constant integers.   | |
| virtual void | emitIntValue (const APInt &Value) | 
| virtual void | emitIntValueInHex (uint64_t Value, unsigned Size) | 
| Special case of EmitValue that avoids the client having to pass in a MCExpr for constant integers & prints in Hex format for certain modes.   | |
| void | emitInt8 (uint64_t Value) | 
| void | emitInt16 (uint64_t Value) | 
| void | emitInt32 (uint64_t Value) | 
| void | emitInt64 (uint64_t Value) | 
| virtual void | emitIntValueInHexWithPadding (uint64_t Value, unsigned Size) | 
| 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.   | |
| unsigned | emitULEB128IntValue (uint64_t Value, unsigned PadTo=0) | 
| Special case of EmitULEB128Value that avoids the client having to pass in a MCExpr for constant integers.   | |
| unsigned | emitSLEB128IntValue (int64_t Value) | 
| Special case of EmitSLEB128Value that avoids the client having to pass in a MCExpr for constant integers.   | |
| void | emitSymbolValue (const MCSymbol *Sym, unsigned Size, bool IsSectionRelative=false) | 
| Special case of EmitValue that avoids the client having to pass in a MCExpr for MCSymbols.   | |
| void | emitFill (uint64_t NumBytes, uint8_t FillValue) | 
| Emit NumBytes bytes worth of the value specified by FillValue.   | |
| void | emitZeros (uint64_t NumBytes) | 
| Emit NumBytes worth of zeros.   | |
Protected Member Functions | |
| void | finalizeCGProfileEntry (const MCSymbolRefExpr *&S) | 
| Protected Member Functions inherited from llvm::MCObjectStreamer | |
| MCObjectStreamer (MCContext &Context, std::unique_ptr< MCAsmBackend > TAB, std::unique_ptr< MCObjectWriter > OW, std::unique_ptr< MCCodeEmitter > Emitter) | |
| ~MCObjectStreamer () override | |
| Protected Member Functions inherited from llvm::MCStreamer | |
| MCStreamer (MCContext &Ctx) | |
| void | addFragment (MCFragment *F) | 
| WinEH::FrameInfo * | getCurrentWinFrameInfo () | 
| virtual void | emitWindowsUnwindTables (WinEH::FrameInfo *Frame) | 
| virtual void | emitWindowsUnwindTables () | 
| virtual void | emitRawTextImpl (StringRef String) | 
| EmitRawText - If this file is backed by an assembly streamer, this dumps the specified string in the output .s file.   | |
| bool | checkCVLocSection (unsigned FuncId, unsigned FileNo, SMLoc Loc) | 
| Returns true if the .cv_loc directive is in the right section.   | |
Protected Attributes | |
| MCSymbol * | CurSymbol | 
| Protected Attributes inherited from llvm::MCStreamer | |
| bool | IsObj = false | 
| WinEH::FrameInfo::Epilog * | CurrentWinEpilog = nullptr | 
| MCFragment * | CurFrag = nullptr | 
Definition at line 28 of file MCWinCOFFStreamer.h.
| MCWinCOFFStreamer::MCWinCOFFStreamer | ( | MCContext & | Context, | 
| std::unique_ptr< MCAsmBackend > | MAB, | ||
| std::unique_ptr< MCCodeEmitter > | CE, | ||
| std::unique_ptr< MCObjectWriter > | OW ) | 
Definition at line 122 of file MCWinCOFFStreamer.cpp.
References CurSymbol, getWriter(), llvm::MCObjectStreamer::MCObjectStreamer(), and llvm::move().
Start emitting COFF symbol definition.
| Symbol | - The symbol to have its External & Type fields set. | 
Reimplemented from llvm::MCStreamer.
Definition at line 200 of file MCWinCOFFStreamer.cpp.
References CurSymbol, and llvm::Error.
This is called by popSection and switchSection, if the current section changes.
Reimplemented from llvm::MCObjectStreamer.
Definition at line 154 of file MCWinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::changeSection(), llvm::MCObjectStreamer::getAssembler(), and llvm::MCAssembler::registerSymbol().
      
  | 
  overridevirtual | 
Reimplemented from llvm::MCStreamer.
Definition at line 405 of file MCWinCOFFStreamer.cpp.
References llvm::Count, llvm::MCObjectWriter::getCGProfile(), llvm::MCSymbolRefExpr::getSymbol(), getWriter(), and llvm::MCSymbol::isTemporary().
      
  | 
  overridevirtual | 
Emits a COFF image relative relocation.
| Symbol | - Symbol the image relative relocation should point to. | 
Reimplemented from llvm::MCStreamer.
Definition at line 301 of file MCWinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::addFixup(), llvm::MCObjectStreamer::appendContents(), llvm::MCConstantExpr::create(), llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::createAdd(), llvm::MCObjectStreamer::ensureHeadroom(), llvm::FK_Data_4, llvm::MCStreamer::getContext(), llvm::Offset, llvm::MCObjectStreamer::visitUsedSymbol(), and llvm::MCSymbolRefExpr::VK_COFF_IMGREL32.
Reimplemented from llvm::MCStreamer.
Definition at line 244 of file MCWinCOFFStreamer.cpp.
References llvm::MCSection::ensureMinAlignment(), llvm::MCObjectStreamer::getAssembler(), llvm::MCStreamer::getContext(), llvm::MCContext::getObjectFileInfo(), llvm::MCObjectFileInfo::getSXDataSection(), llvm::COFF::IMAGE_SYM_DTYPE_FUNCTION, llvm::MCObjectStreamer::newSpecialFragment(), llvm::MCStreamer::popSection(), llvm::MCStreamer::pushSection(), llvm::MCAssembler::registerSymbol(), llvm::COFF::SCT_COMPLEX_TYPE_SHIFT, llvm::MCStreamer::switchSection(), and llvm::Triple::x86.
Emits the physical number of the section containing the given symbol as assigned during object writing (i.e., this is not a runtime relocation).
Reimplemented from llvm::MCStreamer.
Definition at line 317 of file MCWinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::addFixup(), llvm::MCObjectStreamer::appendContents(), MCCOFFSectionNumberTargetExpr::create(), llvm::MCObjectStreamer::ensureHeadroom(), llvm::FK_Data_4, llvm::MCStreamer::getContext(), getWriter(), and llvm::MCObjectStreamer::visitUsedSymbol().
Emits the offset of the symbol from the beginning of the section during object writing (i.e., this is not a runtime relocation).
Reimplemented from llvm::MCStreamer.
Definition at line 328 of file MCWinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::addFixup(), llvm::MCObjectStreamer::appendContents(), MCCOFFSectionOffsetTargetExpr::create(), llvm::MCObjectStreamer::ensureHeadroom(), llvm::FK_Data_4, llvm::MCStreamer::getContext(), and llvm::MCObjectStreamer::visitUsedSymbol().
      
  | 
  overridevirtual | 
Emits a COFF section relative relocation.
| Symbol | - Symbol the section relative relocation should point to. | 
Reimplemented from llvm::MCStreamer.
Definition at line 286 of file MCWinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::addFixup(), llvm::MCObjectStreamer::appendContents(), llvm::MCConstantExpr::create(), llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::createAdd(), llvm::MCObjectStreamer::ensureHeadroom(), llvm::FK_SecRel_4, llvm::MCStreamer::getContext(), llvm::Offset, and llvm::MCObjectStreamer::visitUsedSymbol().
Emits a COFF section index.
| Symbol | - Symbol the section number relocation should point to. | 
Reimplemented from llvm::MCStreamer.
Definition at line 278 of file MCWinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::addFixup(), llvm::MCObjectStreamer::appendContents(), llvm::MCSymbolRefExpr::create(), llvm::MCObjectStreamer::ensureHeadroom(), llvm::FK_SecRel_2, llvm::MCStreamer::getContext(), and llvm::MCObjectStreamer::visitUsedSymbol().
Emits the symbol table index of a Symbol into the current section.
Reimplemented from llvm::MCStreamer.
Definition at line 270 of file MCWinCOFFStreamer.cpp.
References llvm::MCSection::ensureMinAlignment(), llvm::MCObjectStreamer::getAssembler(), llvm::MCStreamer::getCurrentSectionOnly(), llvm::MCObjectStreamer::newSpecialFragment(), and llvm::MCAssembler::registerSymbol().
      
  | 
  overridevirtual | 
Emit the storage class of the symbol.
| StorageClass | - The storage class the symbol should have. | 
Reimplemented from llvm::MCStreamer.
Definition at line 207 of file MCWinCOFFStreamer.cpp.
References CurSymbol, llvm::Error, llvm::MCObjectStreamer::getAssembler(), llvm::MCAssembler::registerSymbol(), and llvm::COFF::SSC_Invalid.
      
  | 
  overridevirtual | 
Emit the type of the symbol.
Reimplemented from llvm::MCStreamer.
Definition at line 223 of file MCWinCOFFStreamer.cpp.
References CurSymbol, llvm::Error, llvm::MCObjectStreamer::getAssembler(), and llvm::MCAssembler::registerSymbol().
      
  | 
  overridevirtual | 
Emit a common symbol.
| Symbol | - The common symbol to emit. | 
| Size | - The size of the common symbol. | 
| ByteAlignment | - The alignment of the symbol. | 
Implements llvm::MCStreamer.
Definition at line 339 of file MCWinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::emitBytes(), llvm::MCObjectStreamer::getAssembler(), llvm::MCStreamer::getContext(), llvm::MCObjectFileInfo::getDrectveSection(), llvm::MCContext::getObjectFileInfo(), llvm::MCContext::getTargetTriple(), llvm::Log2_32_Ceil(), llvm::MCStreamer::popSection(), llvm::MCStreamer::pushSection(), llvm::MCAssembler::registerSymbol(), llvm::report_fatal_error(), Size, llvm::MCStreamer::switchSection(), and T.
      
  | 
  overridevirtual | 
Emit the "identifiers" directive.
This implements the '.ident "version foo"' assembler directive.
Reimplemented from llvm::MCStreamer.
Definition at line 397 of file MCWinCOFFStreamer.cpp.
References llvm_unreachable.
Emit a label for Symbol into the current section. 
This corresponds to an assembler statement such as: foo:
| Symbol | - The symbol to emit. A given symbol should only be emitted as a label once, and symbols emitted as a label should never be used in an assignment. | 
Reimplemented from llvm::MCObjectStreamer.
Definition at line 164 of file MCWinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::emitLabel().
Referenced by emitLocalCommonSymbol().
      
  | 
  overridevirtual | 
Emit a local common (.lcomm) symbol.
| Symbol | - The common symbol to emit. | 
| Size | - The size of the common symbol. | 
| ByteAlignment | - The alignment of the common symbol in bytes. | 
Reimplemented from llvm::MCStreamer.
Definition at line 371 of file MCWinCOFFStreamer.cpp.
References emitLabel(), llvm::MCObjectStreamer::emitValueToAlignment(), llvm::MCStreamer::emitZeros(), llvm::MCObjectFileInfo::getBSSSection(), llvm::MCStreamer::getContext(), llvm::MCContext::getObjectFileInfo(), llvm::MCStreamer::popSection(), llvm::MCStreamer::pushSection(), Size, and llvm::MCStreamer::switchSection().
      
  | 
  overridevirtual | 
Add the given Attribute to Symbol. 
Implements llvm::MCStreamer.
Definition at line 169 of file MCWinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::getAssembler(), llvm::COFF::IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY, llvm::COFF::IMAGE_WEAK_EXTERN_SEARCH_ALIAS, llvm_unreachable, llvm::MCSA_AltEntry, llvm::MCSA_Global, llvm::MCSA_Weak, llvm::MCSA_WeakAntiDep, llvm::MCSA_WeakReference, and llvm::MCAssembler::registerSymbol().
Referenced by emitWeakReference().
Set the DescValue for the Symbol. 
| Symbol | - The symbol to have its n_desc field set. | 
| DescValue | - The value to set into the n_desc field. | 
Reimplemented from llvm::MCStreamer.
Definition at line 196 of file MCWinCOFFStreamer.cpp.
References llvm_unreachable.
      
  | 
  overridevirtual | 
Emit an weak reference from Alias to Symbol. 
This corresponds to an assembler statement such as: .weakref alias, symbol
| Alias | - The alias that is being created. | 
| Symbol | - The symbol being aliased. | 
Reimplemented from llvm::MCObjectStreamer.
Definition at line 386 of file MCWinCOFFStreamer.cpp.
References llvm::MCSymbolRefExpr::create(), emitSymbolAttribute(), llvm::MCObjectStreamer::getAssembler(), llvm::MCStreamer::getContext(), llvm::MCSA_Weak, and llvm::MCAssembler::registerSymbol().
      
  | 
  overridevirtual | 
Reimplemented from llvm::MCStreamer.
Definition at line 401 of file MCWinCOFFStreamer.cpp.
References llvm_unreachable.
      
  | 
  overridevirtual | 
Marks the end of the symbol definition.
Reimplemented from llvm::MCStreamer.
Definition at line 238 of file MCWinCOFFStreamer.cpp.
References CurSymbol, and llvm::Error.
      
  | 
  protected | 
Definition at line 413 of file MCWinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::getAssembler(), and llvm::MCSymbolRefExpr::getSymbol().
Referenced by finishImpl().
      
  | 
  overridevirtual | 
Streamer specific finalization.
Reimplemented from llvm::MCObjectStreamer.
Definition at line 419 of file MCWinCOFFStreamer.cpp.
References finalizeCGProfileEntry(), llvm::CodeViewContext::finish(), llvm::MCObjectStreamer::finishImpl(), llvm::MCObjectStreamer::getAssembler(), llvm::MCStreamer::getContext(), llvm::MCContext::getCVContext(), llvm::COFF::IMAGE_SCN_LNK_REMOVE, and llvm::MCStreamer::switchSection().
| WinCOFFObjectWriter & MCWinCOFFStreamer::getWriter | ( | ) | 
Definition at line 133 of file MCWinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::getAssembler(), and llvm::MCAssembler::getWriter().
Referenced by emitCGProfileEntry(), emitCOFFSecNumber(), and MCWinCOFFStreamer().
      
  | 
  overridevirtual | 
Create the default sections and set the initial one.
Reimplemented from llvm::MCStreamer.
Definition at line 137 of file MCWinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::emitCodeAlignment(), llvm::MCStreamer::getContext(), and llvm::MCStreamer::switchSection().
      
  | 
  inlineoverridevirtual | 
state management
Reimplemented from llvm::MCObjectStreamer.
Definition at line 35 of file MCWinCOFFStreamer.h.
References CurSymbol, and llvm::MCObjectStreamer::reset().
      
  | 
  protected | 
Definition at line 75 of file MCWinCOFFStreamer.h.
Referenced by beginCOFFSymbolDef(), emitCOFFSymbolStorageClass(), emitCOFFSymbolType(), endCOFFSymbolDef(), MCWinCOFFStreamer(), and reset().