Streaming Wasm object file generation interface.
Synopsis
Declared in <llvm/MC/MCWasmStreamer.h>
class MCWasmStreamer
: public MCObjectStreamer
Base Classes
Name |
Description |
Streaming object file generation interface. |
Member Functions
Name |
Description |
|
Construct a Wasm object streamer. |
|
Destroy the Wasm object streamer. |
|
Deleted copy assignment. |
|
Add a textual comment. |
Retrieve the current frame info if one is available and it is not yet closed. Otherwise, issue an error and return null. |
|
|
Emit a blank line to a .s file to pretty it up. |
|
Add explicit comment T. T is required to be a valid comment in the output and does not need to be escaped. |
Add a fixup to the current fragment. |
|
Allocate a new fragment storage block with room for |
|
|
|
|
Start emitting COFF symbol definition |
Update streamer state for a new active section. |
|
|
Emit the absolute difference between two symbols if possible. |
|
Emit the absolute difference between two symbols encoded as ULEB128. |
|
Emit a |
|
Add |
|
Emit an assignment of |
|
Functionally identical to EmitBytes. When emitting textual assembly, this method uses .byte directives instead of .ascii or .asciz for readability. |
|
Emit/Specify Mach‐O build version command. |
|
Enable aligned instruction bundling with the given bundle size. |
|
The following instructions are a bundle‐locked group. |
|
Ends a bundle‐locked group. |
|
Emit the bytes in |
|
Emit a .cfi_adjust_cfa_offset directive. |
|
Emit a .cfi_b_key_frame directive. |
|
Emit a .cfi_def_cfa directive. |
|
Emit a .cfi_def_cfa_offset directive. |
|
Emit a .cfi_def_cfa_register directive. |
Emit a .cfi_endproc directive. |
|
|
Emit a .cfi_escape directive with raw DWARF CFI bytes. |
|
Emit a .cfi_gnu_args_size directive. |
|
Emit a .cfi_llvm_def_aspace_cfa directive. |
|
Emit a .cfi_llvm_register_pair directive. |
|
|
|
Emit a .cfi_llvm_vector_offset directive. |
|
Emit a .cfi_llvm_vector_register_mask directive. |
|
Emit a .cfi_llvm_vector_registers directive. |
|
Emit a real CFI label into the object when emitting object files. |
|
Emit a .cfi_label directive. |
|
Emit a .cfi_lsda directive. |
|
Emit a .cfi_mte_tagged_frame directive. |
|
Emit a .cfi_negate_ra_state directive. |
|
Emit a .cfi_negate_ra_state_with_pc directive. |
|
Emit a .cfi_offset directive. |
|
Emit a .cfi_personality directive. |
|
Emit a .cfi_register directive. |
|
Emit a .cfi_rel_offset directive. |
|
Emit a .cfi_remember_state directive. |
|
Emit a .cfi_restore directive. |
|
Emit a .cfi_restore_state directive. |
|
Emit a .cfi_return_column directive. |
|
Emit a .cfi_same_value directive. |
|
Select which CFI sections to emit. |
|
Emit a .cfi_signal_frame directive. |
Emit a .cfi_startproc directive. |
|
|
Emit a .cfi_undefined directive. |
|
Emit a .cfi_val_offset directive. |
|
Emit a .cfi_window_save directive. |
|
Emit a call‐graph profile edge. |
|
Emits a COFF image relative relocation. |
|
Emit a COFF .safeseh directive for |
|
Emits the physical number of the section containing the given symbol as assigned during object writing (i.e., this is not a runtime relocation). |
|
Emits the offset of the symbol from the beginning of the section during object writing (i.e., this is not a runtime relocation). |
|
Emits a COFF section relative relocation. |
|
Emits a COFF section index. |
|
Emits the symbol table index of a Symbol into the current section. |
|
Emit the storage class of the symbol. |
|
Emit the type of the symbol. |
|
|
|
This implements the CodeView '.cv_fpo_data' assembler directive. |
|
Emit a CodeView |
|
Emit a CodeView |
|
Associate a filename and checksum with a CodeView logical file number. |
|
Introduces a function id for use with .cv_loc. |
|
Emit a CodeView |
|
Introduces an inline call site id for use with .cv_loc. Includes extra information for inline line table generation. |
|
|
|
Emit a CodeView |
|
Emit a CodeView |
|
|
|
Emit a common symbol. |
|
Emit an assignment of |
|
Emit a Mach‐O build‐version command for the Darwin target variant. |
|
Note in the output the specified region |
Emit a DWARF frame address advance from |
|
|
Emit a raw DWARF line‐address advance from |
|
Specify the "root" file of the compilation, using the ".file 0" extension. |
Associate a filename with a specified logical file number. This implements the DWARF2 '.file 4 "foo.c"' assembler directive. |
|
|
Emit the debug line end entry for |
|
Emit the debug line start label. |
|
Emit a DWARF |
|
This is same as emitDwarfLocDirective, except it has the capability to add inlined_at information. |
|
This implements the '.loc_label Name' directive. |
|
|
|
Copy EH‐related symbol attributes from |
|
Emit an ELF |
|
Emit an ELF .symver directive. |
|
Emit added explicit comments. |
|
|
|
|
Emit collected EH, debug, and/or SFrame unwind information. |
|
|
Emit a .gnu_attribute directive. |
|
Emit an |
Emit an instruction to a special fragment, because this instruction can change its size during relaxation. |
|
|
Emit the given instruction into the current section. |
Emit |
|
Emit |
|
Emit |
|
Emit |
|
|
|
|
Special case of EmitValue that avoids the client having to pass in a MCExpr for constant integers & prints in Hex format for certain modes. |
|
Emit a constant integer in hex, padded to |
|
Emit a Linker Optimization Hint (LOH) directive. |
|
Emit |
|
Emit |
Emit a temporary label and record it in the DWARF line table. |
|
|
Emit the given list |
|
Emit a local common ( |
|
Emit |
Emits pending conditional assignments that depend on |
|
|
|
|
Emit the a pseudo probe into the current section. |
|
Print |
Dump |
|
|
Record a relocation described by the |
Emit an SFrame function‐offset delta from |
|
Special case of EmitSLEB128Value that avoids the client having to pass in a MCExpr for constant integers. |
|
|
Emit |
|
Emit a .subsection_via_symbols directive. |
|
Add the given |
|
Set the |
Special case of EmitValue that avoids the client having to pass in a MCExpr for MCSymbols. |
|
|
Emit a |
|
Emit a thread local bss (.tbss) symbol. |
|
Emit the target triple into the output. |
Special case of EmitULEB128Value that avoids the client having to pass in a MCExpr for constant integers. |
|
|
Emit |
Emit the expression |
|
|
Emit the expression |
|
Emit fill bytes until alignment |
|
Emit copies of |
Emit version directives appropriate for |
|
|
Specify the Mach‐O minimum deployment target version. |
|
|
|
Emit a .seh_stackalloc directive. |
|
Emit a .seh_startepilogue directive. |
|
Emit a .seh_endepilogue directive. |
|
Emit a .seh_endproc directive ending a Windows CFI procedure. |
|
Emit a .seh_endprologue directive. |
|
Emit a .seh_endfunclet directive for .xdata sizing. |
|
Emit a .seh_push2regs directive. |
|
Emit a .seh_pushframe directive. |
|
Emit a .seh_pushreg directive. |
|
Emit a .seh_savereg directive. |
|
Emit a .seh_savexmm directive. |
|
Emit a .seh_setframe directive. |
|
Emit a .seh_splitchained directive. |
|
Emit a .seh_proc directive starting a Windows CFI procedure. |
|
Emit a .seh_unwindv2start directive. |
|
Emit a .seh_unwindversion directive. |
|
Emit a .seh_handler directive. |
|
Emit a .seh_handlerdata directive. |
|
Emit a C_INFO symbol with XCOFF embedded metadata to the .info section. |
|
Emit an XCOFF .except directive which adds information about a trap instruction to the object file exception section |
|
Emits an lcomm directive with XCOFF csect information. |
|
Emit a XCOFF .ref directive which creates R_REF type entry in the relocation table for one or more symbols. |
|
Emit a XCOFF .rename directive which creates a synonym for an illegal or undesirable name. |
|
Emit a symbol's linkage and visibility with a linkage directive for XCOFF. |
|
Emit the zerofill section and an optional symbol. |
Emit NumBytes worth of zeros. This function properly handles data in virtual sections. |
|
|
Marks the end of the symbol definition. |
End |
|
Ensure the current fragment has at least |
|
Finish emission of machine code. |
|
|
Perform Wasm‐specific finalization before finishing the object. |
Generate compact‐unwind encodings for collected DWARF frames. |
|
Return whether the assembler may insert padding automatically. |
|
Return the assembler owned by this streamer. |
|
|
Return a pointer to the assembler owned by this streamer. |
Return the .pdata section associated with |
|
Get the .xdata section used for the given section. |
|
|
Return a raw_ostream that comments can be written to. Unlike AddComment, you are required to terminate comments with if you use this method. |
Return the MC context this streamer is bound to. |
|
Return a pointer to the end of the fixed‐size contents of the current fragment. |
|
Return the fixed size of the current data fragment. |
|
Return the fragment currently being appended to. |
|
Return the current section that the streamer is emitting code to. |
|
Return only the current section, ignoring the subsection index. |
|
Return the Windows EH epilog currently being processed, or null. |
|
Return the default unwind version for new WinCFI frames. |
|
Return the collected DWARF CFI frames. |
|
|
Return the DWARF line‐table symbol for compile unit |
Return the installed LFI rewriter, or null if none. |
|
|
Returns the mnemonic for |
Return the number of DWARF CFI frames collected so far. |
|
Return the number of Windows EH frames collected so far. |
|
Return the previous section that the streamer is emitting code to. |
|
Return the parser's current token location, if available. |
|
Return the attached target streamer, or null if none. |
|
Return whether assembler info may be used during parsing. |
|
Return the collected Windows EH frames. |
|
|
Return true if this asm streamer supports emitting unformatted text to the .s file with EmitRawText. |
Return true if a DWARF CFI frame has been started but not ended. |
|
|
Create the default sections and set the initial one. |
Return true if a |
|
Return true if SEH directives are being recorded for an epilog. |
|
|
Object streamers require the integrated assembler. |
Return true if this streamer emits an object file. |
|
|
Return true if this streamer supports verbose assembly and if it is enabled. |
Returns true if a WinCFI prolog has been completed (.seh_endprologue) in the current frame. |
|
|
Return true if |
Emit a special value of 0xffffffff if producing 64‐bit debugging info. |
|
Add a new fragment to the current section without a variable‐size tail. |
|
Add a new special fragment of type |
|
|
Restore the current and previous section from the section stack. Calls changeSection as needed. |
Save the current and previous section on the section stack. |
|
|
state management |
Set whether the assembler may insert padding automatically. |
|
Set the default unwind version for new WinCFI frames. |
|
Take ownership of LFI rewriter |
|
Point at the parser's current token location for diagnostics. |
|
Take ownership of target streamer |
|
Set whether assembler info may be used during parsing. |
|
|
|
Similar to switchSection, but does not print the section directive. |
|
|
Associate a filename with a specified logical file number. |
Visit symbols referenced by |
|
|
Register |
Using Declarations
Name |
Description |
Bring MCStreamer::emitFill overloads into scope. |
Protected Member Functions
Name |
Description |
Append fragment |
|
|
This is called by popSection and switchSection, if the current section changes. |
Returns true if the .cv_loc directive is in the right section. |
|
|
Target‐specific implementation of .cfi_endproc. |
|
Target‐specific implementation of .cfi_startproc. |
|
Implementation of emitRawText, used by assembly streamers. |
|
|
Return the current Windows EH frame, or null if none is active. |
Protected Data Members
Name |
Description |
True while inside a |
|
Fragment currently being appended to. |
|
Symbol of the current epilog for which we are processing SEH directives. |
|
DWARF CFI frames collected while streaming. |
|
True if this streamer is emitting an object file rather than assembly. |
|
Optional LFI rewriter applied to emitted instructions. |
Non-Member Functions
Name |
Description |
Emit LFI bundle‐alignment mode for the current target, if required. |
|
Emit the ELF note section that identifies an LFI object file. |
|
Initialize |
|
Emit the common part of the DWARF 5 range/locations list tables header. |
Created with MrDocs