[#llvm-MCWinCOFFStreamer] = xref:llvm.adoc[llvm]::MCWinCOFFStreamer :relfileprefix: ../ :mrdocs: Streaming Windows COFF object file generation interface. == Synopsis Declared in `<llvm/MC/MCWinCOFFStreamer.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class MCWinCOFFStreamer : public xref:llvm/MCObjectStreamer.adoc[MCObjectStreamer] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:llvm/MCObjectStreamer.adoc[MCObjectStreamer]` | Streaming object file generation interface. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/MCWinCOFFStreamer/2constructor.adoc[`MCWinCOFFStreamer`] [.small]#[constructor]# | Construct a Windows COFF object streamer. | xref:llvm/MCStreamer/operator_assign.adoc[`operator=`] [.small]#[deleted]# | Deleted copy assignment. | xref:llvm/MCStreamer/AddComment.adoc[`AddComment`] [.small]#[virtual]# | Add a textual comment. | xref:llvm/MCStreamer/EnsureValidWinFrameInfo.adoc[`EnsureValidWinFrameInfo`] | Retrieve the current frame info if one is available and it is not yet closed. Otherwise, issue an error and return null. | xref:llvm/MCStreamer/addBlankLine.adoc[`addBlankLine`] [.small]#[virtual]# | Emit a blank line to a .s file to pretty it up. | xref:llvm/MCStreamer/addExplicitComment.adoc[`addExplicitComment`] [.small]#[virtual]# | Add explicit comment T. T is required to be a valid comment in the output and does not need to be escaped. | xref:llvm/MCObjectStreamer/addFixup.adoc[`addFixup`] | Add a fixup to the current fragment. | xref:llvm/MCObjectStreamer/allocFragSpace.adoc[`allocFragSpace`] | Allocate a new fragment storage block with room for `Headroom` bytes. | xref:llvm/MCObjectStreamer/appendContents-0f.adoc[`appendContents`] | `appendContents` overloads | xref:llvm/MCWinCOFFStreamer/beginCOFFSymbolDef.adoc[`beginCOFFSymbolDef`] [.small]#[virtual]# | Start emitting a COFF symbol definition. | xref:llvm/MCWinCOFFStreamer/changeSection.adoc[`changeSection`] [.small]#[virtual]# | Update streamer state for a new active section. | xref:llvm/MCObjectStreamer/emitAbsoluteSymbolDiff.adoc[`emitAbsoluteSymbolDiff`] [.small]#[virtual]# | Emit the absolute difference between two symbols if possible. | xref:llvm/MCObjectStreamer/emitAbsoluteSymbolDiffAsULEB128.adoc[`emitAbsoluteSymbolDiffAsULEB128`] [.small]#[virtual]# | Emit the absolute difference between two symbols encoded as ULEB128. | xref:llvm/MCObjectStreamer/emitAddrsig.adoc[`emitAddrsig`] [.small]#[virtual]# | Emit a `.addrsig` directive starting an address‐significance table. | xref:llvm/MCObjectStreamer/emitAddrsigSym.adoc[`emitAddrsigSym`] [.small]#[virtual]# | Add `Sym` to the address‐significance table. | xref:llvm/MCObjectStreamer/emitAssignment.adoc[`emitAssignment`] [.small]#[virtual]# | Emit an assignment of `Value` to `Symbol.` | xref:llvm/MCStreamer/emitBinaryData.adoc[`emitBinaryData`] [.small]#[virtual]# | Functionally identical to EmitBytes. When emitting textual assembly, this method uses .byte directives instead of .ascii or .asciz for readability. | xref:llvm/MCStreamer/emitBuildVersion.adoc[`emitBuildVersion`] [.small]#[virtual]# | Emit/Specify Mach‐O build version command. `Platform` should be one of MachO::PlatformType. | xref:llvm/MCStreamer/emitBundleAlignMode.adoc[`emitBundleAlignMode`] [.small]#[virtual]# | Enable aligned instruction bundling with the given bundle size. | xref:llvm/MCStreamer/emitBundleLock.adoc[`emitBundleLock`] [.small]#[virtual]# | The following instructions are a bundle‐locked group. | xref:llvm/MCStreamer/emitBundleUnlock.adoc[`emitBundleUnlock`] [.small]#[virtual]# | Ends a bundle‐locked group. | xref:llvm/MCObjectStreamer/emitBytes.adoc[`emitBytes`] [.small]#[virtual]# | Emit the bytes in `Data` into the current section. | xref:llvm/MCStreamer/emitCFIAdjustCfaOffset.adoc[`emitCFIAdjustCfaOffset`] [.small]#[virtual]# | Emit a .cfi_adjust_cfa_offset directive. | xref:llvm/MCStreamer/emitCFIBKeyFrame.adoc[`emitCFIBKeyFrame`] [.small]#[virtual]# | Emit a .cfi_b_key_frame directive. | xref:llvm/MCStreamer/emitCFIDefCfa.adoc[`emitCFIDefCfa`] [.small]#[virtual]# | Emit a .cfi_def_cfa directive. | xref:llvm/MCStreamer/emitCFIDefCfaOffset.adoc[`emitCFIDefCfaOffset`] [.small]#[virtual]# | Emit a .cfi_def_cfa_offset directive. | xref:llvm/MCStreamer/emitCFIDefCfaRegister.adoc[`emitCFIDefCfaRegister`] [.small]#[virtual]# | Emit a .cfi_def_cfa_register directive. | xref:llvm/MCStreamer/emitCFIEndProc.adoc[`emitCFIEndProc`] | Emit a .cfi_endproc directive. | xref:llvm/MCStreamer/emitCFIEscape.adoc[`emitCFIEscape`] [.small]#[virtual]# | Emit a .cfi_escape directive with raw DWARF CFI bytes. | xref:llvm/MCStreamer/emitCFIGnuArgsSize.adoc[`emitCFIGnuArgsSize`] [.small]#[virtual]# | Emit a .cfi_gnu_args_size directive. | xref:llvm/MCStreamer/emitCFILLVMDefAspaceCfa.adoc[`emitCFILLVMDefAspaceCfa`] [.small]#[virtual]# | Emit a .cfi_llvm_def_aspace_cfa directive. | xref:llvm/MCStreamer/emitCFILLVMRegisterPair.adoc[`emitCFILLVMRegisterPair`] [.small]#[virtual]# | Emit a .cfi_llvm_register_pair directive. | xref:llvm/MCStreamer/emitCFILLVMSetRAState-01.adoc[`emitCFILLVMSetRAState`] | `emitCFILLVMSetRAState` overloads | xref:llvm/MCStreamer/emitCFILLVMVectorOffset.adoc[`emitCFILLVMVectorOffset`] [.small]#[virtual]# | Emit a .cfi_llvm_vector_offset directive. | xref:llvm/MCStreamer/emitCFILLVMVectorRegisterMask.adoc[`emitCFILLVMVectorRegisterMask`] [.small]#[virtual]# | Emit a .cfi_llvm_vector_register_mask directive. | xref:llvm/MCStreamer/emitCFILLVMVectorRegisters.adoc[`emitCFILLVMVectorRegisters`] [.small]#[virtual]# | Emit a .cfi_llvm_vector_registers directive. | xref:llvm/MCObjectStreamer/emitCFILabel.adoc[`emitCFILabel`] [.small]#[virtual]# | Emit a real CFI label into the object when emitting object files. | xref:llvm/MCStreamer/emitCFILabelDirective.adoc[`emitCFILabelDirective`] [.small]#[virtual]# | Emit a .cfi_label directive. | xref:llvm/MCStreamer/emitCFILsda.adoc[`emitCFILsda`] [.small]#[virtual]# | Emit a .cfi_lsda directive. | xref:llvm/MCStreamer/emitCFIMTETaggedFrame.adoc[`emitCFIMTETaggedFrame`] [.small]#[virtual]# | Emit a .cfi_mte_tagged_frame directive. | xref:llvm/MCStreamer/emitCFINegateRAState.adoc[`emitCFINegateRAState`] [.small]#[virtual]# | Emit a .cfi_negate_ra_state directive. | xref:llvm/MCStreamer/emitCFINegateRAStateWithPC.adoc[`emitCFINegateRAStateWithPC`] [.small]#[virtual]# | Emit a .cfi_negate_ra_state_with_pc directive. | xref:llvm/MCStreamer/emitCFIOffset.adoc[`emitCFIOffset`] [.small]#[virtual]# | Emit a .cfi_offset directive. | xref:llvm/MCStreamer/emitCFIPersonality.adoc[`emitCFIPersonality`] [.small]#[virtual]# | Emit a .cfi_personality directive. | xref:llvm/MCStreamer/emitCFIRegister.adoc[`emitCFIRegister`] [.small]#[virtual]# | Emit a .cfi_register directive. | xref:llvm/MCStreamer/emitCFIRelOffset.adoc[`emitCFIRelOffset`] [.small]#[virtual]# | Emit a .cfi_rel_offset directive. | xref:llvm/MCStreamer/emitCFIRememberState.adoc[`emitCFIRememberState`] [.small]#[virtual]# | Emit a .cfi_remember_state directive. | xref:llvm/MCStreamer/emitCFIRestore.adoc[`emitCFIRestore`] [.small]#[virtual]# | Emit a .cfi_restore directive. | xref:llvm/MCStreamer/emitCFIRestoreState.adoc[`emitCFIRestoreState`] [.small]#[virtual]# | Emit a .cfi_restore_state directive. | xref:llvm/MCStreamer/emitCFIReturnColumn.adoc[`emitCFIReturnColumn`] [.small]#[virtual]# | Emit a .cfi_return_column directive. | xref:llvm/MCStreamer/emitCFISameValue.adoc[`emitCFISameValue`] [.small]#[virtual]# | Emit a .cfi_same_value directive. | xref:llvm/MCObjectStreamer/emitCFISections.adoc[`emitCFISections`] [.small]#[virtual]# | Select which CFI sections to emit. | xref:llvm/MCStreamer/emitCFISignalFrame.adoc[`emitCFISignalFrame`] [.small]#[virtual]# | Emit a .cfi_signal_frame directive. | xref:llvm/MCStreamer/emitCFIStartProc.adoc[`emitCFIStartProc`] | Emit a .cfi_startproc directive. | xref:llvm/MCStreamer/emitCFIUndefined.adoc[`emitCFIUndefined`] [.small]#[virtual]# | Emit a .cfi_undefined directive. | xref:llvm/MCStreamer/emitCFIValOffset.adoc[`emitCFIValOffset`] [.small]#[virtual]# | Emit a .cfi_val_offset directive. | xref:llvm/MCStreamer/emitCFIWindowSave.adoc[`emitCFIWindowSave`] [.small]#[virtual]# | Emit a .cfi_window_save directive. | xref:llvm/MCWinCOFFStreamer/emitCGProfileEntry.adoc[`emitCGProfileEntry`] [.small]#[virtual]# | Emit a call‐graph profile edge. | xref:llvm/MCWinCOFFStreamer/emitCOFFImgRel32.adoc[`emitCOFFImgRel32`] [.small]#[virtual]# | Emit a COFF image‐relative relocation. | xref:llvm/MCWinCOFFStreamer/emitCOFFSafeSEH.adoc[`emitCOFFSafeSEH`] [.small]#[virtual]# | Emit a COFF .safeseh directive for `Symbol.` | xref:llvm/MCWinCOFFStreamer/emitCOFFSecNumber.adoc[`emitCOFFSecNumber`] [.small]#[virtual]# | Emit the physical section number containing `Symbol.` | xref:llvm/MCWinCOFFStreamer/emitCOFFSecOffset.adoc[`emitCOFFSecOffset`] [.small]#[virtual]# | Emit the section offset of `Symbol.` | xref:llvm/MCWinCOFFStreamer/emitCOFFSecRel32.adoc[`emitCOFFSecRel32`] [.small]#[virtual]# | Emit a COFF section‐relative relocation. | xref:llvm/MCWinCOFFStreamer/emitCOFFSectionIndex.adoc[`emitCOFFSectionIndex`] [.small]#[virtual]# | Emit a COFF section index relocation for `Symbol.` | xref:llvm/MCWinCOFFStreamer/emitCOFFSymbolIndex.adoc[`emitCOFFSymbolIndex`] [.small]#[virtual]# | Emit the symbol table index of `Symbol` into the current section. | xref:llvm/MCWinCOFFStreamer/emitCOFFSymbolStorageClass.adoc[`emitCOFFSymbolStorageClass`] [.small]#[virtual]# | Emit the storage class of the symbol under definition. | xref:llvm/MCWinCOFFStreamer/emitCOFFSymbolType.adoc[`emitCOFFSymbolType`] [.small]#[virtual]# | Emit the type of the symbol under definition. | xref:llvm/MCObjectStreamer/emitCVDefRangeDirective-02.adoc[`emitCVDefRangeDirective`] | `emitCVDefRangeDirective` overloads | xref:llvm/MCStreamer/emitCVFPOData.adoc[`emitCVFPOData`] [.small]#[virtual]# | This implements the CodeView '.cv_fpo_data' assembler directive. | xref:llvm/MCObjectStreamer/emitCVFileChecksumOffsetDirective.adoc[`emitCVFileChecksumOffsetDirective`] [.small]#[virtual]# | Emit a CodeView `.cv_filechecksumoffset` directive. | xref:llvm/MCObjectStreamer/emitCVFileChecksumsDirective.adoc[`emitCVFileChecksumsDirective`] [.small]#[virtual]# | Emit a CodeView `.cv_filechecksums` directive. | xref:llvm/MCStreamer/emitCVFileDirective.adoc[`emitCVFileDirective`] [.small]#[virtual]# | Associate a filename and checksum with a CodeView logical file number. | xref:llvm/MCStreamer/emitCVFuncIdDirective.adoc[`emitCVFuncIdDirective`] [.small]#[virtual]# | Introduces a function id for use with .cv_loc. | xref:llvm/MCObjectStreamer/emitCVInlineLinetableDirective.adoc[`emitCVInlineLinetableDirective`] [.small]#[virtual]# | Emit a CodeView `.cv_inline_linetable` directive. | xref:llvm/MCStreamer/emitCVInlineSiteIdDirective.adoc[`emitCVInlineSiteIdDirective`] [.small]#[virtual]# | Introduces an inline call site id for use with .cv_loc. Includes extra information for inline line table generation. | xref:llvm/MCObjectStreamer/emitCVLinetableDirective.adoc[`emitCVLinetableDirective`] [.small]#[virtual]# | Emit a CodeView `.cv_linetable` directive. | xref:llvm/MCObjectStreamer/emitCVLocDirective.adoc[`emitCVLocDirective`] [.small]#[virtual]# | Emit a CodeView `.cv_loc` directive. | xref:llvm/MCObjectStreamer/emitCVStringTableDirective.adoc[`emitCVStringTableDirective`] [.small]#[virtual]# | Emit a CodeView `.cv_stringtable` directive. | xref:llvm/MCObjectStreamer/emitCodeAlignment.adoc[`emitCodeAlignment`] [.small]#[virtual]# | Emit NOPs until alignment `ByteAlignment` is reached. | xref:llvm/MCWinCOFFStreamer/emitCommonSymbol.adoc[`emitCommonSymbol`] [.small]#[virtual]# | Emit a common symbol. | xref:llvm/MCObjectStreamer/emitConditionalAssignment.adoc[`emitConditionalAssignment`] [.small]#[virtual]# | Emit an assignment of `Value` to `Symbol` only if `Value` is also emitted. | xref:llvm/MCStreamer/emitDarwinTargetVariantBuildVersion.adoc[`emitDarwinTargetVariantBuildVersion`] [.small]#[virtual]# | Emit a Mach‐O build‐version command for the Darwin target variant. | xref:llvm/MCStreamer/emitDataRegion.adoc[`emitDataRegion`] [.small]#[virtual]# | Note in the output the specified region `Kind.` | xref:llvm/MCObjectStreamer/emitDwarfAdvanceFrameAddr.adoc[`emitDwarfAdvanceFrameAddr`] | Emit a DWARF frame address advance from `LastLabel` to `Label.` | xref:llvm/MCObjectStreamer/emitDwarfAdvanceLineAddr.adoc[`emitDwarfAdvanceLineAddr`] [.small]#[virtual]# | Emit a raw DWARF line‐address advance from `LastLabel` to `Label.` | xref:llvm/MCStreamer/emitDwarfFile0Directive.adoc[`emitDwarfFile0Directive`] [.small]#[virtual]# | Specify the "root" file of the compilation, using the ".file 0" extension. | xref:llvm/MCStreamer/emitDwarfFileDirective.adoc[`emitDwarfFileDirective`] | Associate a filename with a specified logical file number. This implements the DWARF2 '.file 4 "foo.c"' assembler directive. | xref:llvm/MCObjectStreamer/emitDwarfLineEndEntry.adoc[`emitDwarfLineEndEntry`] [.small]#[virtual]# | Emit the debug line end entry for `Section.` | xref:llvm/MCStreamer/emitDwarfLineStartLabel.adoc[`emitDwarfLineStartLabel`] [.small]#[virtual]# | Emit the debug line start label. | xref:llvm/MCObjectStreamer/emitDwarfLocDirective.adoc[`emitDwarfLocDirective`] [.small]#[virtual]# | Emit a DWARF `.loc` directive. | xref:llvm/MCStreamer/emitDwarfLocDirectiveWithInlinedAt.adoc[`emitDwarfLocDirectiveWithInlinedAt`] [.small]#[virtual]# | This is same as emitDwarfLocDirective, except it has the capability to add inlined_at information. | xref:llvm/MCStreamer/emitDwarfLocLabelDirective.adoc[`emitDwarfLocLabelDirective`] [.small]#[virtual]# | This implements the '.loc_label Name' directive. | xref:llvm/MCStreamer/emitDwarfUnitLength-08.adoc[`emitDwarfUnitLength`] | `emitDwarfUnitLength` overloads | xref:llvm/MCStreamer/emitEHSymAttributes.adoc[`emitEHSymAttributes`] [.small]#[virtual]# | Copy EH‐related symbol attributes from `Symbol` to `EHSymbol.` | xref:llvm/MCStreamer/emitELFSize.adoc[`emitELFSize`] [.small]#[virtual]# | Emit an ELF .size directive. | xref:llvm/MCStreamer/emitELFSymverDirective.adoc[`emitELFSymverDirective`] [.small]#[virtual]# | Emit an ELF .symver directive. | xref:llvm/MCStreamer/emitExplicitComments.adoc[`emitExplicitComments`] [.small]#[virtual]# | Emit added explicit comments. | xref:llvm/MCObjectStreamer/emitFileDirective-0e.adoc[`emitFileDirective`] | `emitFileDirective` overloads | xref:llvm/MCObjectStreamer/emitFill-02.adoc[`emitFill`] | `emitFill` overloads | xref:llvm/MCObjectStreamer/emitFrames.adoc[`emitFrames`] | Emit collected EH, debug, and/or SFrame unwind information. | xref:llvm/MCStreamer/emitGNUAttribute.adoc[`emitGNUAttribute`] [.small]#[virtual]# | Emit a .gnu_attribute directive. | xref:llvm/MCWinCOFFStreamer/emitIdent.adoc[`emitIdent`] [.small]#[virtual]# | Emit an `.ident` directive. | xref:llvm/MCObjectStreamer/emitInstToFragment.adoc[`emitInstToFragment`] | Emit an instruction to a special fragment, because this instruction can change its size during relaxation. | xref:llvm/MCObjectStreamer/emitInstruction.adoc[`emitInstruction`] [.small]#[virtual]# | Emit the given instruction into the current section. | xref:llvm/MCStreamer/emitInt16.adoc[`emitInt16`] | Emit `Value` as a two‐byte integer. | xref:llvm/MCStreamer/emitInt32.adoc[`emitInt32`] | Emit `Value` as a four‐byte integer. | xref:llvm/MCStreamer/emitInt64.adoc[`emitInt64`] | Emit `Value` as an eight‐byte integer. | xref:llvm/MCStreamer/emitInt8.adoc[`emitInt8`] | Emit `Value` as a one‐byte integer. | xref:llvm/MCStreamer/emitIntValue-00.adoc[`emitIntValue`] | `emitIntValue` overloads | xref:llvm/MCStreamer/emitIntValueInHex.adoc[`emitIntValueInHex`] [.small]#[virtual]# | Special case of EmitValue that avoids the client having to pass in a MCExpr for constant integers & prints in Hex format for certain modes. | xref:llvm/MCStreamer/emitIntValueInHexWithPadding.adoc[`emitIntValueInHexWithPadding`] [.small]#[virtual]# | Emit a constant integer in hex, padded to `Size` bytes. | xref:llvm/MCStreamer/emitLOHDirective.adoc[`emitLOHDirective`] [.small]#[virtual]# | Emit a Linker Optimization Hint (LOH) directive. | xref:llvm/MCWinCOFFStreamer/emitLabel.adoc[`emitLabel`] [.small]#[virtual]# | Emit `Symbol` as a label at the current position. | xref:llvm/MCObjectStreamer/emitLabelAtPos.adoc[`emitLabelAtPos`] [.small]#[virtual]# | Emit `Symbol` as a label at `Offset` within fragment `F.` | xref:llvm/MCStreamer/emitLineTableLabel.adoc[`emitLineTableLabel`] | Emit a temporary label and record it in the DWARF line table. | xref:llvm/MCStreamer/emitLinkerOptions.adoc[`emitLinkerOptions`] [.small]#[virtual]# | Emit the given list `Options` of strings as linker options into the output. | xref:llvm/MCWinCOFFStreamer/emitLocalCommonSymbol.adoc[`emitLocalCommonSymbol`] [.small]#[virtual]# | Emit a local common (`.lcomm`) symbol. | xref:llvm/MCObjectStreamer/emitNops.adoc[`emitNops`] [.small]#[virtual]# | Emit `NumBytes` bytes of NOP instructions. | xref:llvm/MCObjectStreamer/emitPendingAssignments.adoc[`emitPendingAssignments`] | Emits pending conditional assignments that depend on `Symbol` being emitted. | xref:llvm/MCObjectStreamer/emitPrefAlign.adoc[`emitPrefAlign`] [.small]#[virtual]# | Align up to `Alignment` using NOPs or fill, not past symbol `End.` | xref:llvm/MCStreamer/emitPseudoProbe.adoc[`emitPseudoProbe`] [.small]#[virtual]# | Emit the a pseudo probe into the current section. | xref:llvm/MCStreamer/emitRawComment.adoc[`emitRawComment`] [.small]#[virtual]# | Print `T` immediately as a comment, optionally tab‐prefixed. | xref:llvm/MCStreamer/emitRawText.adoc[`emitRawText`] | Dump `String` into the output assembly file. | xref:llvm/MCObjectStreamer/emitRelocDirective.adoc[`emitRelocDirective`] [.small]#[virtual]# | Record a relocation described by the `.reloc` directive. | xref:llvm/MCObjectStreamer/emitSFrameCalculateFuncOffset.adoc[`emitSFrameCalculateFuncOffset`] | Emit an SFrame function‐offset delta from `FunCabsel` to `FREBegin.` | xref:llvm/MCStreamer/emitSLEB128IntValue.adoc[`emitSLEB128IntValue`] | Special case of EmitSLEB128Value that avoids the client having to pass in a MCExpr for constant integers. | xref:llvm/MCObjectStreamer/emitSLEB128Value.adoc[`emitSLEB128Value`] [.small]#[virtual]# | Emit `Value` encoded as signed LEB128. | xref:llvm/MCStreamer/emitSubsectionsViaSymbols.adoc[`emitSubsectionsViaSymbols`] [.small]#[virtual]# | Emit a .subsection_via_symbols directive. | xref:llvm/MCWinCOFFStreamer/emitSymbolAttribute.adoc[`emitSymbolAttribute`] [.small]#[virtual]# | Add the given `Attribute` to `Symbol.` | xref:llvm/MCWinCOFFStreamer/emitSymbolDesc.adoc[`emitSymbolDesc`] [.small]#[virtual]# | Set the `DescValue` for the `Symbol.` | xref:llvm/MCStreamer/emitSymbolValue.adoc[`emitSymbolValue`] | Special case of EmitValue that avoids the client having to pass in a MCExpr for MCSymbols. | xref:llvm/MCStreamer/emitSyntaxDirective.adoc[`emitSyntaxDirective`] [.small]#[virtual]# | Emit a `.{Syntax}_syntax` directive, such as `.intel_syntax`. | xref:llvm/MCStreamer/emitTBSSSymbol.adoc[`emitTBSSSymbol`] [.small]#[virtual]# | Emit a thread local bss (.tbss) symbol. | xref:llvm/MCStreamer/emitTargetTriple.adoc[`emitTargetTriple`] [.small]#[virtual]# | Emit the target triple into the output. | xref:llvm/MCStreamer/emitULEB128IntValue.adoc[`emitULEB128IntValue`] | Special case of EmitULEB128Value that avoids the client having to pass in a MCExpr for constant integers. | xref:llvm/MCObjectStreamer/emitULEB128Value.adoc[`emitULEB128Value`] [.small]#[virtual]# | Emit `Value` encoded as unsigned LEB128. | xref:llvm/MCStreamer/emitValue.adoc[`emitValue`] | Emit the expression `Value` as a native integer of `Size` bytes. | xref:llvm/MCObjectStreamer/emitValueImpl.adoc[`emitValueImpl`] [.small]#[virtual]# | Emit the expression `Value` as a native integer of `Size` bytes. | xref:llvm/MCObjectStreamer/emitValueToAlignment.adoc[`emitValueToAlignment`] [.small]#[virtual]# | Emit fill bytes until alignment `Alignment` is reached. | xref:llvm/MCObjectStreamer/emitValueToOffset.adoc[`emitValueToOffset`] [.small]#[virtual]# | Emit copies of `Value` until byte offset `Offset` is reached. | xref:llvm/MCStreamer/emitVersionForTarget.adoc[`emitVersionForTarget`] | Emit version directives appropriate for `Target.` | xref:llvm/MCStreamer/emitVersionMin.adoc[`emitVersionMin`] [.small]#[virtual]# | Specify the Mach‐O minimum deployment target version. | xref:llvm/MCWinCOFFStreamer/emitWeakReference.adoc[`emitWeakReference`] [.small]#[virtual]# | Emit a weak reference from `Alias` to `Symbol.` | xref:llvm/MCStreamer/emitWinCFIAllocStack.adoc[`emitWinCFIAllocStack`] [.small]#[virtual]# | Emit a .seh_stackalloc directive. | xref:llvm/MCStreamer/emitWinCFIBeginEpilogue.adoc[`emitWinCFIBeginEpilogue`] [.small]#[virtual]# | Emit a .seh_startepilogue directive. | xref:llvm/MCStreamer/emitWinCFIEndEpilogue.adoc[`emitWinCFIEndEpilogue`] [.small]#[virtual]# | Emit a .seh_endepilogue directive. | xref:llvm/MCStreamer/emitWinCFIEndProc.adoc[`emitWinCFIEndProc`] [.small]#[virtual]# | Emit a .seh_endproc directive ending a Windows CFI procedure. | xref:llvm/MCStreamer/emitWinCFIEndProlog.adoc[`emitWinCFIEndProlog`] [.small]#[virtual]# | Emit a .seh_endprologue directive. | xref:llvm/MCStreamer/emitWinCFIFuncletOrFuncEnd.adoc[`emitWinCFIFuncletOrFuncEnd`] [.small]#[virtual]# | Emit a .seh_endfunclet directive for .xdata sizing. | xref:llvm/MCStreamer/emitWinCFIPush2Regs.adoc[`emitWinCFIPush2Regs`] [.small]#[virtual]# | Emit a .seh_push2regs directive. | xref:llvm/MCStreamer/emitWinCFIPushFrame.adoc[`emitWinCFIPushFrame`] [.small]#[virtual]# | Emit a .seh_pushframe directive. | xref:llvm/MCStreamer/emitWinCFIPushReg.adoc[`emitWinCFIPushReg`] [.small]#[virtual]# | Emit a .seh_pushreg directive. | xref:llvm/MCStreamer/emitWinCFISaveReg.adoc[`emitWinCFISaveReg`] [.small]#[virtual]# | Emit a .seh_savereg directive. | xref:llvm/MCStreamer/emitWinCFISaveXMM.adoc[`emitWinCFISaveXMM`] [.small]#[virtual]# | Emit a .seh_savexmm directive. | xref:llvm/MCStreamer/emitWinCFISetFrame.adoc[`emitWinCFISetFrame`] [.small]#[virtual]# | Emit a .seh_setframe directive. | xref:llvm/MCStreamer/emitWinCFISplitChained.adoc[`emitWinCFISplitChained`] [.small]#[virtual]# | Emit a .seh_splitchained directive. | xref:llvm/MCStreamer/emitWinCFIStartProc.adoc[`emitWinCFIStartProc`] [.small]#[virtual]# | Emit a .seh_proc directive starting a Windows CFI procedure. | xref:llvm/MCStreamer/emitWinCFIUnwindV2Start.adoc[`emitWinCFIUnwindV2Start`] [.small]#[virtual]# | Emit a .seh_unwindv2start directive. | xref:llvm/MCStreamer/emitWinCFIUnwindVersion.adoc[`emitWinCFIUnwindVersion`] [.small]#[virtual]# | Emit a .seh_unwindversion directive. | xref:llvm/MCStreamer/emitWinEHHandler.adoc[`emitWinEHHandler`] [.small]#[virtual]# | Emit a .seh_handler directive. | xref:llvm/MCWinCOFFStreamer/emitWinEHHandlerData.adoc[`emitWinEHHandlerData`] [.small]#[virtual]# | Emit a `.seh_handlerdata` directive. | xref:llvm/MCStreamer/emitXCOFFCInfoSym.adoc[`emitXCOFFCInfoSym`] [.small]#[virtual]# | Emit a C_INFO symbol with XCOFF embedded metadata to the .info section. | xref:llvm/MCStreamer/emitXCOFFExceptDirective.adoc[`emitXCOFFExceptDirective`] [.small]#[virtual]# | Emit an XCOFF .except directive which adds information about a trap instruction to the object file exception section | xref:llvm/MCStreamer/emitXCOFFLocalCommonSymbol.adoc[`emitXCOFFLocalCommonSymbol`] [.small]#[virtual]# | Emits an lcomm directive with XCOFF csect information. | xref:llvm/MCStreamer/emitXCOFFRefDirective.adoc[`emitXCOFFRefDirective`] [.small]#[virtual]# | Emit a XCOFF .ref directive which creates R_REF type entry in the relocation table for one or more symbols. | xref:llvm/MCStreamer/emitXCOFFRenameDirective.adoc[`emitXCOFFRenameDirective`] [.small]#[virtual]# | Emit a XCOFF .rename directive which creates a synonym for an illegal or undesirable name. | xref:llvm/MCStreamer/emitXCOFFSymbolLinkageWithVisibility.adoc[`emitXCOFFSymbolLinkageWithVisibility`] [.small]#[virtual]# | Emit a symbol's linkage and visibility with a linkage directive for XCOFF. | xref:llvm/MCStreamer/emitZerofill.adoc[`emitZerofill`] [.small]#[virtual]# | Emit the zerofill section and an optional symbol. | xref:llvm/MCStreamer/emitZeros.adoc[`emitZeros`] | Emit NumBytes worth of zeros. This function properly handles data in virtual sections. | xref:llvm/MCWinCOFFStreamer/endCOFFSymbolDef.adoc[`endCOFFSymbolDef`] [.small]#[virtual]# | Mark the end of the current COFF symbol definition. | xref:llvm/MCStreamer/endSection.adoc[`endSection`] | End `Section` and return its end symbol. | xref:llvm/MCObjectStreamer/ensureHeadroom.adoc[`ensureHeadroom`] | Ensure the current fragment has at least `Headroom` free bytes. | xref:llvm/MCStreamer/finish.adoc[`finish`] | Finish emission of machine code. | xref:llvm/MCWinCOFFStreamer/finishImpl.adoc[`finishImpl`] [.small]#[virtual]# | Perform Windows COFF‐specific finalization before finishing the object. | xref:llvm/MCObjectStreamer/generateCompactUnwindEncodings.adoc[`generateCompactUnwindEncodings`] | Generate compact‐unwind encodings for collected DWARF frames. | xref:llvm/MCStreamer/getAllowAutoPadding.adoc[`getAllowAutoPadding`] | Return whether the assembler may insert padding automatically. | xref:llvm/MCObjectStreamer/getAssembler.adoc[`getAssembler`] | Return the assembler owned by this streamer. | xref:llvm/MCObjectStreamer/getAssemblerPtr.adoc[`getAssemblerPtr`] [.small]#[virtual]# | Return a pointer to the assembler owned by this streamer. | xref:llvm/MCStreamer/getAssociatedPDataSection.adoc[`getAssociatedPDataSection`] | Return the .pdata section associated with `TextSec.` | xref:llvm/MCStreamer/getAssociatedXDataSection.adoc[`getAssociatedXDataSection`] | Get the .xdata section used for the given section. | xref:llvm/MCStreamer/getCommentOS.adoc[`getCommentOS`] [.small]#[virtual]# | Return a raw_ostream that comments can be written to. Unlike AddComment, you are required to terminate comments with if you use this method. | xref:llvm/MCStreamer/getContext.adoc[`getContext`] | Return the MC context this streamer is bound to. | xref:llvm/MCObjectStreamer/getCurFragEnd.adoc[`getCurFragEnd`] | Return a pointer to the end of the fixed‐size contents of the current fragment. | xref:llvm/MCStreamer/getCurFragSize.adoc[`getCurFragSize`] | Return the fixed size of the current data fragment. | xref:llvm/MCStreamer/getCurrentFragment.adoc[`getCurrentFragment`] | Return the fragment currently being appended to. | xref:llvm/MCStreamer/getCurrentSection.adoc[`getCurrentSection`] | Return the current section that the streamer is emitting code to. | xref:llvm/MCStreamer/getCurrentSectionOnly.adoc[`getCurrentSectionOnly`] | Return only the current section, ignoring the subsection index. | xref:llvm/MCStreamer/getCurrentWinEpilog.adoc[`getCurrentWinEpilog`] | Return the Windows EH epilog currently being processed, or null. | xref:llvm/MCStreamer/getDefaultWinCFIUnwindVersion.adoc[`getDefaultWinCFIUnwindVersion`] | Return the default unwind version for new WinCFI frames. | xref:llvm/MCStreamer/getDwarfFrameInfos.adoc[`getDwarfFrameInfos`] | Return the collected DWARF CFI frames. | xref:llvm/MCStreamer/getDwarfLineTableSymbol.adoc[`getDwarfLineTableSymbol`] [.small]#[virtual]# | Return the DWARF line‐table symbol for compile unit `CUID.` | xref:llvm/MCStreamer/getLFIRewriter.adoc[`getLFIRewriter`] | Return the installed LFI rewriter, or null if none. | xref:llvm/MCStreamer/getMnemonic.adoc[`getMnemonic`] [.small]#[virtual]# | Returns the mnemonic for `MI,` if the streamer has access to a instruction printer and returns an empty string otherwise. | xref:llvm/MCStreamer/getNumFrameInfos.adoc[`getNumFrameInfos`] | Return the number of DWARF CFI frames collected so far. | xref:llvm/MCStreamer/getNumWinFrameInfos.adoc[`getNumWinFrameInfos`] | Return the number of Windows EH frames collected so far. | xref:llvm/MCStreamer/getPreviousSection.adoc[`getPreviousSection`] | Return the previous section that the streamer is emitting code to. | xref:llvm/MCStreamer/getStartTokLoc.adoc[`getStartTokLoc`] | Return the parser's current token location, if available. | xref:llvm/MCStreamer/getTargetStreamer.adoc[`getTargetStreamer`] | Return the attached target streamer, or null if none. | xref:llvm/MCStreamer/getUseAssemblerInfoForParsing.adoc[`getUseAssemblerInfoForParsing`] | Return whether assembler info may be used during parsing. | xref:llvm/MCStreamer/getWinFrameInfos.adoc[`getWinFrameInfos`] | Return the collected Windows EH frames. | xref:llvm/MCWinCOFFStreamer/getWriter.adoc[`getWriter`] | Return the Windows COFF object writer used by this streamer. | xref:llvm/MCStreamer/hasRawTextSupport.adoc[`hasRawTextSupport`] [.small]#[virtual]# | Return true if this asm streamer supports emitting unformatted text to the .s file with EmitRawText. | xref:llvm/MCStreamer/hasUnfinishedDwarfFrameInfo.adoc[`hasUnfinishedDwarfFrameInfo`] | Return true if a DWARF CFI frame has been started but not ended. | xref:llvm/MCWinCOFFStreamer/initSections.adoc[`initSections`] [.small]#[virtual]# | Create the default sections and set the initial one. | xref:llvm/MCObjectStreamer/isBundleLocked.adoc[`isBundleLocked`] | Return true if a `.bundle_lock` group is currently open. | xref:llvm/MCStreamer/isInEpilogCFI.adoc[`isInEpilogCFI`] | Return true if SEH directives are being recorded for an epilog. | xref:llvm/MCObjectStreamer/isIntegratedAssemblerRequired.adoc[`isIntegratedAssemblerRequired`] [.small]#[virtual]# | Object streamers require the integrated assembler. | xref:llvm/MCStreamer/isObj-0d.adoc[`isObj`] | Return true if this streamer emits an object file. | xref:llvm/MCStreamer/isVerboseAsm.adoc[`isVerboseAsm`] [.small]#[virtual]# | Return true if this streamer supports verbose assembly and if it is enabled. | xref:llvm/MCStreamer/isWinCFIPrologEnded.adoc[`isWinCFIPrologEnded`] | Returns true if a WinCFI prolog has been completed (.seh_endprologue) in the current frame. | xref:llvm/MCObjectStreamer/mayHaveInstructions.adoc[`mayHaveInstructions`] [.small]#[virtual]# | Return true if `Sec` may contain instructions. | xref:llvm/MCStreamer/maybeEmitDwarf64Mark.adoc[`maybeEmitDwarf64Mark`] | Emit a special value of 0xffffffff if producing 64‐bit debugging info. | xref:llvm/MCObjectStreamer/newFragment.adoc[`newFragment`] | Add a new fragment to the current section without a variable‐size tail. | xref:llvm/MCObjectStreamer/newSpecialFragment.adoc[`newSpecialFragment`] | Add a new special fragment of type `FT` to the current section and start a new empty fragment afterward. | xref:llvm/MCStreamer/popSection.adoc[`popSection`] [.small]#[virtual]# | Restore the current and previous section from the section stack. Calls changeSection as needed. | xref:llvm/MCStreamer/pushSection.adoc[`pushSection`] | Save the current and previous section on the section stack. | xref:llvm/MCWinCOFFStreamer/reset.adoc[`reset`] [.small]#[virtual]# | state management | xref:llvm/MCStreamer/setAllowAutoPadding.adoc[`setAllowAutoPadding`] | Set whether the assembler may insert padding automatically. | xref:llvm/MCStreamer/setDefaultWinCFIUnwindVersion.adoc[`setDefaultWinCFIUnwindVersion`] | Set the default unwind version for new WinCFI frames. | xref:llvm/MCStreamer/setLFIRewriter.adoc[`setLFIRewriter`] | Take ownership of LFI rewriter `Rewriter.` | xref:llvm/MCStreamer/setStartTokLocPtr.adoc[`setStartTokLocPtr`] | Point at the parser's current token location for diagnostics. | xref:llvm/MCStreamer/setTargetStreamer.adoc[`setTargetStreamer`] | Take ownership of target streamer `TS.` | xref:llvm/MCStreamer/setUseAssemblerInfoForParsing.adoc[`setUseAssemblerInfoForParsing`] | Set whether assembler info may be used during parsing. | xref:llvm/MCStreamer/switchSection-06.adoc[`switchSection`] | `switchSection` overloads | xref:llvm/MCStreamer/switchSectionNoPrint.adoc[`switchSectionNoPrint`] | Similar to switchSection, but does not print the section directive. | xref:llvm/MCStreamer/tryEmitDwarfFileDirective.adoc[`tryEmitDwarfFileDirective`] [.small]#[virtual]# | Associate a filename with a specified logical file number. | xref:llvm/MCStreamer/visitUsedExpr.adoc[`visitUsedExpr`] | Visit symbols referenced by `Expr.` | xref:llvm/MCObjectStreamer/visitUsedSymbol.adoc[`visitUsedSymbol`] [.small]#[virtual]# | Register `Sym` with the assembler when it is used. |=== == Using Declarations [cols="1,4"] |=== | Name| Description | xref:llvm/MCObjectStreamer/emitFill-04.adoc[`emitFill`] | Bring MCStreamer::emitFill overloads into scope. |=== == Protected Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/MCStreamer/addFragment.adoc[`addFragment`] | Append fragment `F` to the current section. | xref:llvm/MCStreamer/changeSection.adoc[`changeSection`] [.small]#[virtual]# | This is called by popSection and switchSection, if the current section changes. | xref:llvm/MCStreamer/checkCVLocSection.adoc[`checkCVLocSection`] | Returns true if the .cv_loc directive is in the right section. | xref:llvm/MCStreamer/emitCFIEndProcImpl.adoc[`emitCFIEndProcImpl`] [.small]#[virtual]# | Target‐specific implementation of .cfi_endproc. | xref:llvm/MCStreamer/emitCFIStartProcImpl.adoc[`emitCFIStartProcImpl`] [.small]#[virtual]# | Target‐specific implementation of .cfi_startproc. | xref:llvm/MCStreamer/emitRawTextImpl.adoc[`emitRawTextImpl`] [.small]#[virtual]# | Implementation of emitRawText, used by assembly streamers. | xref:llvm/MCStreamer/emitWindowsUnwindTables-06.adoc[`emitWindowsUnwindTables`] | `emitWindowsUnwindTables` overloads | xref:llvm/MCWinCOFFStreamer/finalizeCGProfileEntry.adoc[`finalizeCGProfileEntry`] | Finalize one endpoint of a call‐graph profile edge. | xref:llvm/MCStreamer/getCurrentWinFrameInfo.adoc[`getCurrentWinFrameInfo`] | Return the current Windows EH frame, or null if none is active. |=== == Protected Data Members [cols="1,4"] |=== | Name| Description | xref:llvm/MCObjectStreamer/BundleLocked.adoc[`BundleLocked`] | True while inside a `.bundle_lock` / `.bundle_unlock` group. | xref:llvm/MCStreamer/CurFrag.adoc[`CurFrag`] | Fragment currently being appended to. | xref:llvm/MCWinCOFFStreamer/CurSymbol.adoc[`CurSymbol`] | Symbol currently being defined by a COFF symbol definition sequence. | xref:llvm/MCStreamer/CurrentWinEpilog.adoc[`CurrentWinEpilog`] | Symbol of the current epilog for which we are processing SEH directives. | xref:llvm/MCStreamer/DwarfFrameInfos.adoc[`DwarfFrameInfos`] | DWARF CFI frames collected while streaming. | xref:llvm/MCStreamer/IsObj-0e.adoc[`IsObj`] | True if this streamer is emitting an object file rather than assembly. | xref:llvm/MCStreamer/LFIRewriter.adoc[`LFIRewriter`] | Optional LFI rewriter applied to emitted instructions. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/emitLFIBundleAlign.adoc[`emitLFIBundleAlign`] | Emit LFI bundle‐alignment mode for the current target, if required. | xref:llvm/emitLFINoteSection.adoc[`emitLFINoteSection`] | Emit the ELF note section that identifies an LFI object file. | xref:llvm/initializeLFIMCStreamer.adoc[`initializeLFIMCStreamer`] | Initialize `Streamer` with LFI rewriting support for `TheTriple.` | xref:llvm/mcdwarf/emitListsTableHeaderStart.adoc[`mcdwarf::emitListsTableHeaderStart`] | Emit the common part of the DWARF 5 range/locations list tables header. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#