|
| | AMDGPUELFStreamer (MCContext &Context, MCAsmBackend &MAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter) |
| |
| | MCELFStreamer (MCContext &Context, MCAsmBackend &TAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter) |
| |
| | ~MCELFStreamer () override |
| |
| void | reset () override |
| | state management More...
|
| |
| void | InitSections (bool NoExecStack) override |
| | Create the default sections and set the initial one. More...
|
| |
| void | ChangeSection (MCSection *Section, const MCExpr *Subsection) override |
| | Update streamer for a new active section. More...
|
| |
| void | EmitLabel (MCSymbol *Symbol) override |
| | Emit a label for Symbol into the current section. More...
|
| |
| void | EmitAssemblerFlag (MCAssemblerFlag Flag) override |
| | Note in the output the specified Flag. More...
|
| |
| void | EmitThumbFunc (MCSymbol *Func) override |
| | Note in the output that the specified Func is a Thumb mode function (ARM target only). More...
|
| |
| void | EmitWeakReference (MCSymbol *Alias, const MCSymbol *Symbol) override |
| | Emit an weak reference from Alias to Symbol. More...
|
| |
| bool | EmitSymbolAttribute (MCSymbol *Symbol, MCSymbolAttr Attribute) override |
| | Add the given Attribute to Symbol. More...
|
| |
| void | EmitSymbolDesc (MCSymbol *Symbol, unsigned DescValue) override |
| | Set the DescValue for the Symbol. More...
|
| |
| void | EmitCommonSymbol (MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override |
| | Emit a common symbol. More...
|
| |
| void | BeginCOFFSymbolDef (const MCSymbol *Symbol) override |
| | Start emitting COFF symbol definition. More...
|
| |
| void | EmitCOFFSymbolStorageClass (int StorageClass) override |
| | Emit the storage class of the symbol. More...
|
| |
| void | EmitCOFFSymbolType (int Type) override |
| | Emit the type of the symbol. More...
|
| |
| void | EndCOFFSymbolDef () override |
| | Marks the end of the symbol definition. More...
|
| |
| void | emitELFSize (MCSymbol *Symbol, const MCExpr *Value) override |
| | Emit an ELF .size directive. More...
|
| |
| void | EmitLocalCommonSymbol (MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override |
| | Emit a local common (.lcomm) symbol. More...
|
| |
| void | EmitZerofill (MCSection *Section, MCSymbol *Symbol=nullptr, uint64_t Size=0, unsigned ByteAlignment=0) override |
| | Emit the zerofill section and an optional symbol. More...
|
| |
| void | EmitTBSSSymbol (MCSection *Section, MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment=0) override |
| | Emit a thread local bss (.tbss) symbol. More...
|
| |
| 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. More...
|
| |
| void | EmitFileDirective (StringRef Filename) override |
| | Switch to a new logical file. More...
|
| |
| void | EmitIdent (StringRef IdentString) override |
| | Emit the "identifiers" directive. More...
|
| |
| void | EmitValueToAlignment (unsigned, int64_t, unsigned, unsigned) override |
| | Emit some number of copies of Value until the byte alignment ByteAlignment is reached. More...
|
| |
| void | FinishImpl () override |
| | Streamer specific finalization. More...
|
| |
| void | EmitBundleAlignMode (unsigned AlignPow2) override |
| | Set the bundle alignment mode from now on in the section. More...
|
| |
| void | EmitBundleLock (bool AlignToEnd) override |
| | The following instructions are a bundle-locked group. More...
|
| |
| void | EmitBundleUnlock () override |
| | Ends a bundle-locked group. More...
|
| |
| void | reset () override |
| | state management More...
|
| |
| bool | isIntegratedAssemblerRequired () const override |
| | Object streamers require the integrated assembler. More...
|
| |
| void | EmitFrames (MCAsmBackend *MAB) |
| |
| void | EmitCFISections (bool EH, bool Debug) override |
| |
| MCFragment * | getCurrentFragment () const |
| |
| void | insert (MCFragment *F) |
| |
| MCDataFragment * | getOrCreateDataFragment () |
| | Get a data fragment to write into, creating a new one if the current fragment is not a data fragment. More...
|
| |
| void | visitUsedSymbol (const MCSymbol &Sym) override |
| |
| MCAssembler & | getAssembler () |
| |
| void | EmitLabel (MCSymbol *Symbol) override |
| | Emit a label for Symbol into the current section. More...
|
| |
| void | EmitAssignment (MCSymbol *Symbol, const MCExpr *Value) override |
| | Emit an assignment of Value to Symbol. More...
|
| |
| 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. More...
|
| |
| void | EmitULEB128Value (const MCExpr *Value) override |
| |
| void | EmitSLEB128Value (const MCExpr *Value) override |
| |
| void | EmitWeakReference (MCSymbol *Alias, const MCSymbol *Symbol) override |
| | Emit an weak reference from Alias to Symbol. More...
|
| |
| void | ChangeSection (MCSection *Section, const MCExpr *Subsection) override |
| | Update streamer for a new active section. More...
|
| |
| void | EmitInstruction (const MCInst &Inst, const MCSubtargetInfo &STI) override |
| | Emit the given Instruction into the current section. More...
|
| |
| void | EmitBundleAlignMode (unsigned AlignPow2) override |
| | Set the bundle alignment mode from now on in the section. More...
|
| |
| void | EmitBundleLock (bool AlignToEnd) override |
| | The following instructions are a bundle-locked group. More...
|
| |
| void | EmitBundleUnlock () override |
| | Ends a bundle-locked group. More...
|
| |
| void | EmitBytes (StringRef Data) override |
| | Emit the bytes in Data into the output. More...
|
| |
| void | EmitValueToAlignment (unsigned ByteAlignment, int64_t Value=0, unsigned ValueSize=1, unsigned MaxBytesToEmit=0) override |
| | Emit some number of copies of Value until the byte alignment ByteAlignment is reached. More...
|
| |
| void | EmitCodeAlignment (unsigned ByteAlignment, unsigned MaxBytesToEmit=0) override |
| | Emit nops until the byte alignment ByteAlignment is reached. More...
|
| |
| 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. More...
|
| |
| void | EmitDwarfLocDirective (unsigned FileNo, unsigned Line, unsigned Column, unsigned Flags, unsigned Isa, unsigned Discriminator, StringRef FileName) override |
| | This implements the DWARF2 '.loc fileno lineno ...' assembler directive. More...
|
| |
| void | EmitDwarfAdvanceLineAddr (int64_t LineDelta, const MCSymbol *LastLabel, const MCSymbol *Label, unsigned PointerSize) |
| |
| void | EmitDwarfAdvanceFrameAddr (const MCSymbol *LastLabel, const MCSymbol *Label) |
| |
| 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. More...
|
| |
| void | EmitCVLinetableDirective (unsigned FunctionId, const MCSymbol *Begin, const MCSymbol *End) override |
| | This implements the CodeView '.cv_linetable' assembler directive. More...
|
| |
| void | EmitCVInlineLinetableDirective (unsigned PrimaryFunctionId, unsigned SourceFileId, unsigned SourceLineNum, const MCSymbol *FnStartSym, const MCSymbol *FnEndSym) override |
| | This implements the CodeView '.cv_inline_linetable' assembler directive. More...
|
| |
| void | EmitCVDefRangeDirective (ArrayRef< std::pair< const MCSymbol *, const MCSymbol * >> Ranges, StringRef FixedSizePortion) override |
| | This implements the CodeView '.cv_def_range' assembler directive. More...
|
| |
| void | EmitCVStringTableDirective () override |
| | This implements the CodeView '.cv_stringtable' assembler directive. More...
|
| |
| void | EmitCVFileChecksumsDirective () override |
| | This implements the CodeView '.cv_filechecksums' assembler directive. More...
|
| |
| void | EmitDTPRel32Value (const MCExpr *Value) override |
| | Emit the expression Value into the output as a dtprel (32-bit DTP relative) value. More...
|
| |
| void | EmitDTPRel64Value (const MCExpr *Value) override |
| | Emit the expression Value into the output as a dtprel (64-bit DTP relative) value. More...
|
| |
| void | EmitTPRel32Value (const MCExpr *Value) override |
| | Emit the expression Value into the output as a tprel (32-bit TP relative) value. More...
|
| |
| void | EmitTPRel64Value (const MCExpr *Value) override |
| | Emit the expression Value into the output as a tprel (64-bit TP relative) value. More...
|
| |
| void | EmitGPRel32Value (const MCExpr *Value) override |
| | Emit the expression Value into the output as a gprel32 (32-bit GP relative) value. More...
|
| |
| void | EmitGPRel64Value (const MCExpr *Value) override |
| | Emit the expression Value into the output as a gprel64 (64-bit GP relative) value. More...
|
| |
| bool | EmitRelocDirective (const MCExpr &Offset, StringRef Name, const MCExpr *Expr, SMLoc Loc) override |
| | Emit a .reloc directive. More...
|
| |
| void | emitFill (uint64_t NumBytes, uint8_t FillValue) override |
| | Emit NumBytes bytes worth of the value specified by FillValue. More...
|
| |
| void | emitFill (const MCExpr &NumBytes, uint64_t FillValue, SMLoc Loc=SMLoc()) override |
| | Emit Size bytes worth of the value specified by FillValue. More...
|
| |
| void | emitFill (const MCExpr &NumValues, int64_t Size, int64_t Expr, SMLoc Loc=SMLoc()) override |
| |
| void | FinishImpl () override |
| | Streamer specific finalization. More...
|
| |
| void | emitAbsoluteSymbolDiff (const MCSymbol *Hi, const MCSymbol *Lo, unsigned Size) override |
| | Emit the absolute difference between two symbols if possible. More...
|
| |
| bool | mayHaveInstructions (MCSection &Sec) const override |
| |
| virtual | ~MCStreamer () |
| |
| void | visitUsedExpr (const MCExpr &Expr) |
| |
| void | setTargetStreamer (MCTargetStreamer *TS) |
| |
| MCContext & | getContext () const |
| |
| MCTargetStreamer * | getTargetStreamer () |
| |
| unsigned | getNumFrameInfos () |
| |
| ArrayRef< MCDwarfFrameInfo > | getDwarfFrameInfos () const |
| |
| bool | hasUnfinishedDwarfFrameInfo () |
| |
| unsigned | getNumWinFrameInfos () |
| |
| ArrayRef< WinEH::FrameInfo * > | getWinFrameInfos () const |
| |
| void | generateCompactUnwindEncodings (MCAsmBackend *MAB) |
| |
| virtual unsigned | EmitDwarfFileDirective (unsigned FileNo, StringRef Directory, StringRef Filename, unsigned CUID=0) |
| | Associate a filename with a specified logical file number. More...
|
| |
| virtual bool | EmitCVFileDirective (unsigned FileNo, StringRef Filename) |
| | Associate a filename with a specified logical file number. More...
|
| |
| virtual bool | EmitCVFuncIdDirective (unsigned FunctionId) |
| | Introduces a function id for use with .cv_loc. More...
|
| |
| 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. More...
|
| |
| virtual MCSymbol * | getDwarfLineTableSymbol (unsigned CUID) |
| |
| void | EmitCFIStartProc (bool IsSimple) |
| |
| void | EmitCFIEndProc () |
| |
| virtual void | EmitCFIDefCfa (int64_t Register, int64_t Offset) |
| |
| virtual void | EmitCFIDefCfaOffset (int64_t Offset) |
| |
| virtual void | EmitCFIDefCfaRegister (int64_t Register) |
| |
| virtual void | EmitCFIOffset (int64_t Register, int64_t Offset) |
| |
| virtual void | EmitCFIPersonality (const MCSymbol *Sym, unsigned Encoding) |
| |
| virtual void | EmitCFILsda (const MCSymbol *Sym, unsigned Encoding) |
| |
| virtual void | EmitCFIRememberState () |
| |
| virtual void | EmitCFIRestoreState () |
| |
| virtual void | EmitCFISameValue (int64_t Register) |
| |
| virtual void | EmitCFIRestore (int64_t Register) |
| |
| virtual void | EmitCFIRelOffset (int64_t Register, int64_t Offset) |
| |
| virtual void | EmitCFIAdjustCfaOffset (int64_t Adjustment) |
| |
| virtual void | EmitCFIEscape (StringRef Values) |
| |
| virtual void | EmitCFIGnuArgsSize (int64_t Size) |
| |
| virtual void | EmitCFISignalFrame () |
| |
| virtual void | EmitCFIUndefined (int64_t Register) |
| |
| virtual void | EmitCFIRegister (int64_t Register1, int64_t Register2) |
| |
| virtual void | EmitCFIWindowSave () |
| |
| virtual void | EmitWinCFIStartProc (const MCSymbol *Symbol) |
| |
| virtual void | EmitWinCFIEndProc () |
| |
| virtual void | EmitWinCFIStartChained () |
| |
| virtual void | EmitWinCFIEndChained () |
| |
| virtual void | EmitWinCFIPushReg (unsigned Register) |
| |
| virtual void | EmitWinCFISetFrame (unsigned Register, unsigned Offset) |
| |
| virtual void | EmitWinCFIAllocStack (unsigned Size) |
| |
| virtual void | EmitWinCFISaveReg (unsigned Register, unsigned Offset) |
| |
| virtual void | EmitWinCFISaveXMM (unsigned Register, unsigned Offset) |
| |
| virtual void | EmitWinCFIPushFrame (bool Code) |
| |
| virtual void | EmitWinCFIEndProlog () |
| |
| virtual void | EmitWinEHHandler (const MCSymbol *Sym, bool Unwind, bool Except) |
| |
| virtual void | EmitWinEHHandlerData () |
| |
| MCSection * | getAssociatedPDataSection (const MCSection *TextSec) |
| | Get the .pdata section used for the given section. More...
|
| |
| MCSection * | getAssociatedXDataSection (const MCSection *TextSec) |
| | Get the .xdata section used for the given section. More...
|
| |
| virtual void | EmitSyntaxDirective () |
| |
| void | EmitRawText (const Twine &String) |
| | If this file is backed by a assembly streamer, this dumps the specified string in the output .s file. More...
|
| |
| void | Finish () |
| | Finish emission of machine code. More...
|
| |
| virtual bool | isVerboseAsm () const |
| | Return true if this streamer supports verbose assembly and if it is enabled. More...
|
| |
| virtual bool | hasRawTextSupport () const |
| | Return true if this asm streamer supports emitting unformatted text to the .s file with EmitRawText. More...
|
| |
| virtual void | AddComment (const Twine &T, bool EOL=true) |
| | Add a textual comment. More...
|
| |
| virtual raw_ostream & | GetCommentOS () |
| | Return a raw_ostream that comments can be written to. More...
|
| |
| virtual void | emitRawComment (const Twine &T, bool TabPrefix=true) |
| | Print T and prefix it with the comment string (normally #) and optionally a tab. More...
|
| |
| virtual void | addExplicitComment (const Twine &T) |
| | Add explicit comment T. More...
|
| |
| virtual void | emitExplicitComments () |
| | Emit added explicit comments. More...
|
| |
| virtual void | AddBlankLine () |
| | AddBlankLine - Emit a blank line to a .s file to pretty it up. More...
|
| |
| MCSectionSubPair | getCurrentSection () const |
| | Return the current section that the streamer is emitting code to. More...
|
| |
| MCSection * | getCurrentSectionOnly () const |
| |
| MCSectionSubPair | getPreviousSection () const |
| | Return the previous section that the streamer is emitting code to. More...
|
| |
| unsigned | GetSymbolOrder (const MCSymbol *Sym) const |
| | Returns an index to represent the order a symbol was emitted in. More...
|
| |
| void | PushSection () |
| | Save the current and previous section on the section stack. More...
|
| |
| bool | PopSection () |
| | Restore the current and previous section from the section stack. More...
|
| |
| bool | SubSection (const MCExpr *Subsection) |
| |
| virtual void | SwitchSection (MCSection *Section, const MCExpr *Subsection=nullptr) |
| | Set the current section where code is being emitted to Section. More...
|
| |
| void | SwitchSectionNoChange (MCSection *Section, const MCExpr *Subsection=nullptr) |
| | Set the current section where code is being emitted to Section. More...
|
| |
| MCSymbol * | endSection (MCSection *Section) |
| |
| void | AssignFragment (MCSymbol *Symbol, MCFragment *Fragment) |
| | Sets the symbol's section. More...
|
| |
| virtual void | EmitEHSymAttributes (const MCSymbol *Symbol, MCSymbol *EHSymbol) |
| |
| virtual void | EmitLinkerOptions (ArrayRef< std::string > Kind) |
| | Emit the given list Options of strings as linker options into the output. More...
|
| |
| virtual void | EmitDataRegion (MCDataRegionType Kind) |
| | Note in the output the specified region Kind. More...
|
| |
| virtual void | EmitVersionMin (MCVersionMinType, unsigned Major, unsigned Minor, unsigned Update) |
| | Specify the MachO minimum deployment target version. More...
|
| |
| virtual void | EmitCOFFSafeSEH (MCSymbol const *Symbol) |
| |
| virtual void | EmitCOFFSectionIndex (MCSymbol const *Symbol) |
| | Emits a COFF section index. More...
|
| |
| virtual void | EmitCOFFSecRel32 (MCSymbol const *Symbol, uint64_t Offset) |
| | Emits a COFF section relative relocation. More...
|
| |
| virtual void | EmitLOHDirective (MCLOHType Kind, const MCLOHArgs &Args) |
| | Emit a Linker Optimization Hint (LOH) directive. More...
|
| |
| virtual void | EmitBinaryData (StringRef Data) |
| | Functionally identical to EmitBytes. More...
|
| |
| 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. More...
|
| |
| void | EmitULEB128IntValue (uint64_t Value, unsigned Padding=0) |
| | Special case of EmitULEB128Value that avoids the client having to pass in a MCExpr for constant integers. More...
|
| |
| void | EmitSLEB128IntValue (int64_t Value) |
| | Special case of EmitSLEB128Value that avoids the client having to pass in a MCExpr for constant integers. More...
|
| |
| 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. More...
|
| |
| virtual void | emitFill (uint64_t NumValues, int64_t Size, int64_t Expr) |
| | Emit NumValues copies of Size bytes. More...
|
| |
| void | EmitZeros (uint64_t NumBytes) |
| | Emit NumBytes worth of zeros. More...
|
| |