|
LLVM
4.0.0
|
#include <MCWinCOFFStreamer.h>
Public Member Functions | |
| MCWinCOFFStreamer (MCContext &Context, MCAsmBackend &MAB, MCCodeEmitter &CE, raw_pwrite_stream &OS) | |
| void | reset () override |
| state management More... | |
MCStreamer interface | |
| void | InitSections (bool NoExecStack) override |
| Create the default sections and set the initial one. 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... | |
| 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 | BeginCOFFSymbolDef (MCSymbol const *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 | EmitCOFFSafeSEH (MCSymbol const *Symbol) override |
| void | EmitCOFFSectionIndex (MCSymbol const *Symbol) override |
| Emits a COFF section index. More... | |
| void | EmitCOFFSecRel32 (MCSymbol const *Symbol, uint64_t Offset) override |
| Emits a COFF section relative relocation. More... | |
| void | EmitCommonSymbol (MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override |
| Emit a common symbol. More... | |
| void | EmitLocalCommonSymbol (MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override |
| Emit a local common (.lcomm) symbol. More... | |
| void | EmitZerofill (MCSection *Section, MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override |
| Emit the zerofill section and an optional symbol. More... | |
| void | EmitTBSSSymbol (MCSection *Section, MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override |
| Emit a thread local bss (.tbss) symbol. More... | |
| void | EmitFileDirective (StringRef Filename) override |
| Switch to a new logical file. More... | |
| void | EmitIdent (StringRef IdentString) override |
| Emit the "identifiers" directive. More... | |
| void | EmitWinEHHandlerData () override |
| void | FinishImpl () override |
| Streamer specific finalization. More... | |
Public Member Functions inherited from llvm::MCObjectStreamer | |
| 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 | 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... | |
| virtual void | EmitInstToFragment (const MCInst &Inst, const MCSubtargetInfo &) |
| Emit an instruction to a special fragment, because this instruction can change its size during relaxation. 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 | 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 |
Public Member Functions inherited from llvm::MCStreamer | |
| 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) |
| 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 | emitELFSize (MCSymbol *Symbol, const MCExpr *Value) |
| Emit an ELF .size directive. 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... | |
Protected Member Functions | |
| void | EmitInstToData (const MCInst &Inst, const MCSubtargetInfo &STI) override |
Protected Member Functions inherited from llvm::MCObjectStreamer | |
| MCObjectStreamer (MCContext &Context, MCAsmBackend &TAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter) | |
| ~MCObjectStreamer () override | |
| bool | changeSectionImpl (MCSection *Section, const MCExpr *Subsection) |
| void | flushPendingLabels (MCFragment *F, uint64_t FOffset=0) |
| If any labels have been emitted but not assigned fragments, ensure that they get assigned, either to F if possible or to a new data fragment. More... | |
Protected Member Functions inherited from llvm::MCStreamer | |
| MCStreamer (MCContext &Ctx) | |
| WinEH::FrameInfo * | getCurrentWinFrameInfo () |
| 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. More... | |
Protected Attributes | |
| const MCSymbol * | CurSymbol |
Definition at line 29 of file MCWinCOFFStreamer.h.
| llvm::MCWinCOFFStreamer::MCWinCOFFStreamer | ( | MCContext & | Context, |
| MCAsmBackend & | MAB, | ||
| MCCodeEmitter & | CE, | ||
| raw_pwrite_stream & | OS | ||
| ) |
Definition at line 40 of file WinCOFFStreamer.cpp.
Start emitting COFF symbol definition.
| Symbol | - The symbol to have its External & Type fields set. |
Reimplemented from llvm::MCStreamer.
Definition at line 118 of file WinCOFFStreamer.cpp.
References CurSymbol, and llvm::ARMBuildAttrs::Symbol.
|
overridevirtual |
Note in the output the specified Flag.
Reimplemented from llvm::MCStreamer.
Definition at line 84 of file WinCOFFStreamer.cpp.
References llvm_unreachable.
Reimplemented from llvm::MCStreamer.
Definition at line 163 of file WinCOFFStreamer.cpp.
References llvm::MCSection::getAlignment(), llvm::MCObjectStreamer::getAssembler(), llvm::MCStreamer::getContext(), llvm::MCContext::getObjectFileInfo(), llvm::MCObjectFileInfo::getSXDataSection(), llvm::COFF::IMAGE_SYM_DTYPE_FUNCTION, llvm::MCSymbolCOFF::isSafeSEH(), llvm::MCAssembler::registerSection(), llvm::MCAssembler::registerSymbol(), llvm::COFF::SCT_COMPLEX_TYPE_SHIFT, llvm::MCSection::setAlignment(), llvm::MCSymbolCOFF::setIsSafeSEH(), llvm::MCSymbolCOFF::setType(), llvm::ARMBuildAttrs::Symbol, and llvm::Triple::x86.
|
overridevirtual |
Emits a COFF section relative relocation.
| Symbol | - Symbol the section relative relocation should point to. |
Reimplemented from llvm::MCStreamer.
Definition at line 198 of file WinCOFFStreamer.cpp.
References llvm::MCFixup::create(), llvm::MCConstantExpr::create(), llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::createAdd(), Fixup, llvm::FK_SecRel_4, llvm::MCEncodedFragmentWithContents< ContentsSize >::getContents(), llvm::MCStreamer::getContext(), llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::getFixups(), llvm::MCObjectStreamer::getOrCreateDataFragment(), llvm::SmallVectorImpl< T >::resize(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Emits a COFF section index.
| Symbol | - Symbol the section number relocation should point to. |
Reimplemented from llvm::MCStreamer.
Definition at line 190 of file WinCOFFStreamer.cpp.
References llvm::MCFixup::create(), llvm::MCSymbolRefExpr::create(), Fixup, llvm::FK_SecRel_2, llvm::MCEncodedFragmentWithContents< ContentsSize >::getContents(), llvm::MCStreamer::getContext(), llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::getFixups(), llvm::MCObjectStreamer::getOrCreateDataFragment(), llvm::SmallVectorImpl< T >::resize(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
|
overridevirtual |
Emit the storage class of the symbol.
| StorageClass | - The storage class the symbol should have. |
Reimplemented from llvm::MCStreamer.
Definition at line 126 of file WinCOFFStreamer.cpp.
References CurSymbol, llvm::MCObjectStreamer::getAssembler(), llvm::MCAssembler::registerSymbol(), llvm::COFF::SSC_Invalid, and StorageClass.
|
overridevirtual |
Emit the type of the symbol.
Reimplemented from llvm::MCStreamer.
Definition at line 142 of file WinCOFFStreamer.cpp.
References CurSymbol, 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 if non-zero. This must be a power of 2. |
Implements llvm::MCStreamer.
Definition at line 215 of file WinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::EmitBytes(), llvm::MCObjectStreamer::getAssembler(), llvm::MCStreamer::getContext(), llvm::MCObjectFileInfo::getDrectveSection(), llvm::MCContext::getObjectFileInfo(), llvm::MCObjectFileInfo::getTargetTriple(), llvm::Log2_32_Ceil(), llvm::MCStreamer::PopSection(), llvm::MCStreamer::PushSection(), llvm::MCAssembler::registerSymbol(), llvm::report_fatal_error(), llvm::MCStreamer::SwitchSection(), and llvm::ARMBuildAttrs::Symbol.
|
overridevirtual |
Switch to a new logical file.
This is used to implement the '.file "foo.c"' assembler directive.
Reimplemented from llvm::MCStreamer.
Definition at line 278 of file WinCOFFStreamer.cpp.
References llvm::MCAssembler::addFileName(), and llvm::MCObjectStreamer::getAssembler().
|
overridevirtual |
Emit the "identifiers" directive.
This implements the '.ident "version foo"' assembler directive.
Reimplemented from llvm::MCStreamer.
Definition at line 283 of file WinCOFFStreamer.cpp.
References llvm_unreachable.
|
overrideprotectedvirtual |
Implements llvm::MCObjectStreamer.
Definition at line 44 of file WinCOFFStreamer.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::MCCodeEmitter::encodeInstruction(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::MCObjectStreamer::getAssembler(), llvm::MCEncodedFragmentWithContents< ContentsSize >::getContents(), llvm::MCAssembler::getEmitter(), llvm::MCEncodedFragmentWithFixups< ContentsSize, FixupsSize >::getFixups(), llvm::getOffset(), llvm::MCObjectStreamer::getOrCreateDataFragment(), i, llvm::SmallVectorTemplateCommon< T >::size(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
|
overridevirtual |
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 78 of file WinCOFFStreamer.cpp.
References assert(), llvm::MCObjectStreamer::EmitLabel(), and llvm::ARMBuildAttrs::Symbol.
|
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 247 of file WinCOFFStreamer.cpp.
References llvm::LCOMM::ByteAlignment, llvm::MCObjectStreamer::getAssembler(), llvm::MCObjectFileInfo::getBSSSection(), llvm::MCStreamer::getContext(), llvm::MCContext::getObjectFileInfo(), llvm::MCAssembler::registerSection(), llvm::MCAssembler::registerSymbol(), llvm::ARMBuildAttrs::Section, and llvm::ARMBuildAttrs::Symbol.
|
overridevirtual |
Add the given Attribute to Symbol.
Implements llvm::MCStreamer.
Definition at line 92 of file WinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::getAssembler(), llvm_unreachable, llvm::MCSA_AltEntry, llvm::MCSA_Global, llvm::MCSA_Weak, llvm::MCSA_WeakReference, llvm::MCAssembler::registerSymbol(), and llvm::ARMBuildAttrs::Symbol.
|
overridevirtual |
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 114 of file WinCOFFStreamer.cpp.
References llvm_unreachable.
|
overridevirtual |
Emit a thread local bss (.tbss) symbol.
| Section | - The thread local common section. |
| Symbol | - The thread local common symbol to emit. |
| Size | - The size of the symbol. |
| ByteAlignment | - The alignment of the thread local common symbol if non-zero. This must be a power of 2 on some targets. |
Reimplemented from llvm::MCStreamer.
Definition at line 273 of file WinCOFFStreamer.cpp.
References llvm_unreachable.
|
overridevirtual |
Note in the output that the specified Func is a Thumb mode function (ARM target only).
Reimplemented from llvm::MCStreamer.
Definition at line 88 of file WinCOFFStreamer.cpp.
References llvm_unreachable.
|
overridevirtual |
Reimplemented from llvm::MCStreamer.
Definition at line 287 of file WinCOFFStreamer.cpp.
References llvm_unreachable.
|
overridevirtual |
Emit the zerofill section and an optional symbol.
| Section | - The zerofill section to create and or to put the symbol |
| Symbol | - The zerofill symbol to emit, if non-NULL. |
| Size | - The size of the zerofill symbol. |
| ByteAlignment | - The alignment of the zerofill symbol if non-zero. This must be a power of 2 on some targets. |
Implements llvm::MCStreamer.
Definition at line 268 of file WinCOFFStreamer.cpp.
References llvm_unreachable.
|
overridevirtual |
Marks the end of the symbol definition.
Reimplemented from llvm::MCStreamer.
Definition at line 157 of file WinCOFFStreamer.cpp.
References CurSymbol.
|
overridevirtual |
Streamer specific finalization.
Reimplemented from llvm::MCObjectStreamer.
Definition at line 291 of file WinCOFFStreamer.cpp.
References llvm::MCObjectStreamer::FinishImpl().
|
overridevirtual |
Create the default sections and set the initial one.
Reimplemented from llvm::MCStreamer.
Definition at line 62 of file WinCOFFStreamer.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().
Definition at line 72 of file MCWinCOFFStreamer.h.
Referenced by BeginCOFFSymbolDef(), EmitCOFFSymbolStorageClass(), EmitCOFFSymbolType(), EndCOFFSymbolDef(), and reset().
1.8.6