LLVM API Documentation
#include <MCStreamer.h>
Public Member Functions | |
virtual | ~MCStreamer () |
void | visitUsedExpr (const MCExpr &Expr) |
virtual void | visitUsedSymbol (const MCSymbol &Sym) |
void | setTargetStreamer (MCTargetStreamer *TS) |
virtual void | reset () |
MCContext & | getContext () const |
MCTargetStreamer * | getTargetStreamer () |
unsigned | getNumFrameInfos () |
ArrayRef< MCDwarfFrameInfo > | getDwarfFrameInfos () const |
unsigned | getNumWinFrameInfos () |
ArrayRef< WinEH::FrameInfo * > | getWinFrameInfos () const |
void | generateCompactUnwindEncodings (MCAsmBackend *MAB) |
virtual void | EmitBytes (StringRef Data) |
virtual void | EmitValueImpl (const MCExpr *Value, unsigned Size, const SMLoc &Loc=SMLoc()) |
void | EmitValue (const MCExpr *Value, unsigned Size, const SMLoc &Loc=SMLoc()) |
virtual void | EmitIntValue (uint64_t Value, unsigned Size) |
virtual void | EmitULEB128Value (const MCExpr *Value) |
virtual void | EmitSLEB128Value (const MCExpr *Value) |
void | EmitULEB128IntValue (uint64_t Value, unsigned Padding=0) |
void | EmitSLEB128IntValue (int64_t Value) |
void | EmitSymbolValue (const MCSymbol *Sym, unsigned Size, bool IsSectionRelative=false) |
virtual void | EmitGPRel64Value (const MCExpr *Value) |
virtual void | EmitGPRel32Value (const MCExpr *Value) |
virtual void | EmitFill (uint64_t NumBytes, uint8_t FillValue) |
virtual void | EmitZeros (uint64_t NumBytes) |
Emit NumBytes worth of zeros. This function properly handles data in virtual sections. | |
virtual void | EmitValueToAlignment (unsigned ByteAlignment, int64_t Value=0, unsigned ValueSize=1, unsigned MaxBytesToEmit=0) |
virtual void | EmitCodeAlignment (unsigned ByteAlignment, unsigned MaxBytesToEmit=0) |
virtual bool | EmitValueToOffset (const MCExpr *Offset, unsigned char Value=0) |
virtual void | EmitFileDirective (StringRef Filename) |
virtual void | EmitIdent (StringRef IdentString) |
virtual unsigned | EmitDwarfFileDirective (unsigned FileNo, StringRef Directory, StringRef Filename, unsigned CUID=0) |
virtual void | EmitDwarfLocDirective (unsigned FileNo, unsigned Line, unsigned Column, unsigned Flags, unsigned Isa, unsigned Discriminator, StringRef FileName) |
EmitDwarfLocDirective - This implements the DWARF2. | |
virtual MCSymbol * | getDwarfLineTableSymbol (unsigned CUID) |
virtual void | EmitCFISections (bool EH, bool Debug) |
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 | 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 () |
virtual void | EmitInstruction (const MCInst &Inst, const MCSubtargetInfo &STI) |
virtual void | EmitBundleAlignMode (unsigned AlignPow2) |
Set the bundle alignment mode from now on in the section. The argument is the power of 2 to which the alignment is set. The value 0 means turn the bundle alignment off. | |
virtual void | EmitBundleLock (bool AlignToEnd) |
The following instructions are a bundle-locked group. | |
virtual void | EmitBundleUnlock () |
Ends a bundle-locked group. | |
void | EmitRawText (const Twine &String) |
virtual void | Flush () |
Flush - Causes any cached state to be written out. | |
virtual void | FinishImpl () |
FinishImpl - Streamer specific finalization. | |
void | Finish () |
Finish - Finish emission of machine code. | |
virtual bool | mayHaveInstructions () const |
Assembly File Formatting. | |
virtual bool | isVerboseAsm () const |
virtual bool | hasRawTextSupport () const |
virtual bool | isIntegratedAssemblerRequired () const |
virtual void | AddComment (const Twine &T) |
virtual raw_ostream & | GetCommentOS () |
virtual void | emitRawComment (const Twine &T, bool TabPrefix=true) |
virtual void | AddBlankLine () |
AddBlankLine - Emit a blank line to a .s file to pretty it up. | |
Symbol & Section Management | |
MCSectionSubPair | getCurrentSection () const |
MCSectionSubPair | getPreviousSection () const |
unsigned | GetSymbolOrder (const MCSymbol *Sym) const |
virtual void | ChangeSection (const MCSection *, const MCExpr *) |
void | PushSection () |
bool | PopSection () |
bool | SubSection (const MCExpr *Subsection) |
void | SwitchSection (const MCSection *Section, const MCExpr *Subsection=nullptr) |
void | SwitchSectionNoChange (const MCSection *Section, const MCExpr *Subsection=nullptr) |
virtual void | InitSections () |
Create the default sections and set the initial one. | |
void | AssignSection (MCSymbol *Symbol, const MCSection *Section) |
virtual void | EmitLabel (MCSymbol *Symbol) |
virtual void | EmitEHSymAttributes (const MCSymbol *Symbol, MCSymbol *EHSymbol) |
virtual void | EmitAssemblerFlag (MCAssemblerFlag Flag) |
EmitAssemblerFlag - Note in the output the specified Flag . | |
virtual void | EmitLinkerOptions (ArrayRef< std::string > Kind) |
virtual void | EmitDataRegion (MCDataRegionType Kind) |
EmitDataRegion - Note in the output the specified region Kind . | |
virtual void | EmitVersionMin (MCVersionMinType, unsigned Major, unsigned Minor, unsigned Update) |
EmitVersionMin - Specify the MachO minimum deployment target version. | |
virtual void | EmitThumbFunc (MCSymbol *Func) |
virtual void | EmitAssignment (MCSymbol *Symbol, const MCExpr *Value) |
virtual void | EmitWeakReference (MCSymbol *Alias, const MCSymbol *Symbol) |
virtual bool | EmitSymbolAttribute (MCSymbol *Symbol, MCSymbolAttr Attribute)=0 |
EmitSymbolAttribute - Add the given Attribute to Symbol . | |
virtual void | EmitSymbolDesc (MCSymbol *Symbol, unsigned DescValue) |
virtual void | BeginCOFFSymbolDef (const MCSymbol *Symbol) |
virtual void | EmitCOFFSymbolStorageClass (int StorageClass) |
virtual void | EmitCOFFSymbolType (int Type) |
virtual void | EndCOFFSymbolDef () |
EndCOFFSymbolDef - Marks the end of the symbol definition. | |
virtual void | EmitCOFFSectionIndex (MCSymbol const *Symbol) |
virtual void | EmitCOFFSecRel32 (MCSymbol const *Symbol) |
virtual void | EmitELFSize (MCSymbol *Symbol, const MCExpr *Value) |
virtual void | EmitLOHDirective (MCLOHType Kind, const MCLOHArgs &Args) |
Emit a Linker Optimization Hint (LOH) directive. | |
virtual void | EmitCommonSymbol (MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment)=0 |
virtual void | EmitLocalCommonSymbol (MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) |
virtual void | EmitZerofill (const MCSection *Section, MCSymbol *Symbol=nullptr, uint64_t Size=0, unsigned ByteAlignment=0)=0 |
virtual void | EmitTBSSSymbol (const MCSection *Section, MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment=0) |
Protected Member Functions | |
MCStreamer (MCContext &Ctx) | |
virtual void | EmitCFIStartProcImpl (MCDwarfFrameInfo &Frame) |
virtual void | EmitCFIEndProcImpl (MCDwarfFrameInfo &CurFrame) |
WinEH::FrameInfo * | getCurrentWinFrameInfo () |
virtual void | EmitWindowsUnwindTables () |
virtual void | EmitRawTextImpl (StringRef String) |
MCStreamer - Streaming machine code generation interface. This interface is intended to provide a programatic interface that is very similar to the level that an assembler .s file provides. It has callbacks to emit bytes, handle directives, etc. The implementation of this interface retains state to know what the current section is etc.
There are multiple implementations of this interface: one for writing out a .s file, and implementations that write out .o files of various formats.
Definition at line 171 of file MCStreamer.h.
MCStreamer::MCStreamer | ( | MCContext & | Ctx | ) | [protected] |
Definition at line 40 of file MCStreamer.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
MCStreamer::~MCStreamer | ( | ) | [virtual] |
Definition at line 45 of file MCStreamer.cpp.
References getNumWinFrameInfos().
virtual void llvm::MCStreamer::AddBlankLine | ( | ) | [inline, virtual] |
AddBlankLine - Emit a blank line to a .s file to pretty it up.
Definition at line 278 of file MCStreamer.h.
Referenced by llvm::AsmPrinter::doFinalization(), llvm::AsmPrinter::doInitialization(), llvm::ARMAsmPrinter::EmitEndOfAsmFile(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), llvm::AsmPrinter::EmitFunctionBody(), llvm::AsmPrinter::EmitGlobalVariable(), llvm::AsmPrinter::emitImplicitDef(), emitKill(), llvm::TargetLoweringObjectFileMachO::emitModuleFlags(), llvm::EHStreamer::emitTypeInfos(), llvm::DIEInteger::EmitValue(), and llvm::StackMaps::serializeToStackMapSection().
virtual void llvm::MCStreamer::AddComment | ( | const Twine & | T | ) | [inline, virtual] |
AddComment - Add a comment that can be emitted to the generated .s file if applicable as a QoI issue to make the output of the compiler more readable. This only affects the MCAsmStreamer, and only when verbose assembly output is enabled.
If the comment includes embedded
's, they will each get the comment prefix as appropriate. The added comment should not end with a
.
Definition at line 264 of file MCStreamer.h.
Referenced by llvm::AsmPrinter::doInitialization(), emitBasicBlockLoopComments(), llvm::AsmPrinter::EmitBasicBlockStart(), llvm::AsmPrinter::EmitCFAByte(), llvm::AsmPrinter::EmitDwarfRegOpPiece(), llvm::AsmPrinter::EmitEncodingByte(), llvm::EHStreamer::emitExceptionTable(), llvm::AsmPrinter::EmitFunctionBody(), llvm::AsmPrinter::EmitFunctionHeader(), llvm::DwarfUnit::emitHeader(), llvm::DwarfTypeUnit::emitHeader(), llvm::AsmPrinter::emitImplicitDef(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::X86AsmPrinter::EmitInstruction(), llvm::APByteStreamer::EmitInt8(), emitKill(), llvm::APByteStreamer::EmitSLEB128(), llvm::AsmPrinter::EmitSLEB128(), llvm::EHStreamer::emitTypeInfos(), llvm::APByteStreamer::EmitULEB128(), llvm::AsmPrinter::EmitULEB128(), llvm::DwarfFile::emitUnits(), and llvm::WinCodeViewLineTables::endModule().
void MCStreamer::AssignSection | ( | MCSymbol * | Symbol, |
const MCSection * | Section | ||
) |
AssignSection - Sets the symbol's section.
Each emitted symbol will be tracked in the ordering table, so we can sort on them later.
Definition at line 189 of file MCStreamer.cpp.
References llvm::MCSymbol::setSection(), llvm::MCSymbol::setUndefined(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::size(), and llvm::ARMBuildAttrs::Symbol.
Referenced by llvm::MCWinCOFFStreamer::EmitCommonSymbol(), llvm::MCELFStreamer::EmitCommonSymbol(), EmitLabel(), and llvm::MCWinCOFFStreamer::EmitLocalCommonSymbol().
void MCStreamer::BeginCOFFSymbolDef | ( | const MCSymbol * | Symbol | ) | [virtual] |
BeginCOFFSymbolDef - Start emitting COFF symbol definition
Symbol | - The symbol to have its External & Type fields set. |
Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 621 of file MCStreamer.cpp.
Referenced by llvm::X86AsmPrinter::EmitStartOfAsmFile(), llvm::ARMAsmPrinter::runOnMachineFunction(), and llvm::X86AsmPrinter::runOnMachineFunction().
void MCStreamer::ChangeSection | ( | const MCSection * | , |
const MCExpr * | |||
) | [virtual] |
ChangeSection - Update streamer for a new active section.
This is called by PopSection and SwitchSection, if the current section changes.
Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.
Definition at line 631 of file MCStreamer.cpp.
Referenced by PopSection(), and SwitchSection().
void MCStreamer::EmitAssemblerFlag | ( | MCAssemblerFlag | Flag | ) | [virtual] |
EmitAssemblerFlag - Note in the output the specified Flag
.
Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 618 of file MCStreamer.cpp.
Referenced by llvm::ARMAsmPrinter::EmitEndOfAsmFile(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), llvm::ARMAsmPrinter::EmitFunctionEntryLabel(), llvm::ARMAsmPrinter::emitInlineAsmEnd(), and llvm::ARMAsmPrinter::EmitStartOfAsmFile().
void MCStreamer::EmitAssignment | ( | MCSymbol * | Symbol, |
const MCExpr * | Value | ||
) | [virtual] |
EmitAssignment - Emit an assignment of Value
to Symbol
.
This corresponds to an assembler statement such as: symbol = value
The assignment generates no code, but has the side effect of binding the value in the current context. For the assembly streamer, this prints the binding into the .s file.
Symbol | - The symbol being assigned to. |
Value | - The value for the symbol. |
Reimplemented in llvm::MCObjectStreamer, and llvm::RecordStreamer.
Definition at line 572 of file MCStreamer.cpp.
References llvm::MCTargetStreamer::emitAssignment(), getTargetStreamer(), llvm::MCSymbol::setVariableValue(), and visitUsedExpr().
Referenced by llvm::DwarfCFIException::beginFunction(), llvm::AsmPrinter::doFinalization(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::AsmPrinter::EmitLabelDifference(), llvm::AsmPrinter::EmitLabelOffsetDifference(), llvm::X86AsmPrinter::EmitStartOfAsmFile(), and forceExpAbs().
void MCStreamer::EmitBundleAlignMode | ( | unsigned | AlignPow2 | ) | [virtual] |
Set the bundle alignment mode from now on in the section. The argument is the power of 2 to which the alignment is set. The value 0 means turn the bundle alignment off.
Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.
Definition at line 648 of file MCStreamer.cpp.
void MCStreamer::EmitBundleLock | ( | bool | AlignToEnd | ) | [virtual] |
The following instructions are a bundle-locked group.
AlignToEnd | - If true, the bundle-locked group will be aligned to the end of a bundle. |
Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.
Definition at line 649 of file MCStreamer.cpp.
void MCStreamer::EmitBundleUnlock | ( | ) | [virtual] |
Ends a bundle-locked group.
Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.
Definition at line 651 of file MCStreamer.cpp.
void MCStreamer::EmitBytes | ( | StringRef | Data | ) | [virtual] |
EmitBytes - Emit the bytes in Data
into the output.
This is used to implement assembler directives such as .byte, .ascii, etc.
Reimplemented in llvm::MCObjectStreamer.
Definition at line 633 of file MCStreamer.cpp.
Referenced by llvm::DwarfStringPool::emit(), llvm::MCDwarfLineTableHeader::Emit(), llvm::MCDwarfLineAddr::Emit(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), EmitGenDwarfInfo(), emitGlobalConstantDataSequential(), EmitIntValue(), llvm::TargetLoweringObjectFileCOFF::emitModuleFlags(), EmitNops(), EmitSLEB128IntValue(), EmitULEB128IntValue(), llvm::WinCodeViewLineTables::endModule(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
void MCStreamer::EmitCFIAdjustCfaOffset | ( | int64_t | Adjustment | ) | [virtual] |
Definition at line 264 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createAdjustCfaOffset(), and llvm::MCDwarfFrameInfo::Instructions.
void MCStreamer::EmitCFIDefCfa | ( | int64_t | Register, |
int64_t | Offset | ||
) | [virtual] |
Definition at line 248 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createDefCfa(), and llvm::MCDwarfFrameInfo::Instructions.
Referenced by llvm::AsmPrinter::emitCFIInstruction().
void MCStreamer::EmitCFIDefCfaOffset | ( | int64_t | Offset | ) | [virtual] |
Definition at line 256 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createDefCfaOffset(), and llvm::MCDwarfFrameInfo::Instructions.
Referenced by llvm::AsmPrinter::emitCFIInstruction().
void MCStreamer::EmitCFIDefCfaRegister | ( | int64_t | Register | ) | [virtual] |
Definition at line 272 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createDefCfaRegister(), and llvm::MCDwarfFrameInfo::Instructions.
Referenced by llvm::AsmPrinter::emitCFIInstruction().
void MCStreamer::EmitCFIEndProc | ( | ) |
Definition at line 229 of file MCStreamer.cpp.
References EmitCFIEndProcImpl().
Referenced by llvm::DwarfCFIException::endFunction(), and llvm::ARMException::endFunction().
void MCStreamer::EmitCFIEndProcImpl | ( | MCDwarfFrameInfo & | CurFrame | ) | [protected, virtual] |
Definition at line 235 of file MCStreamer.cpp.
References llvm::MCDwarfFrameInfo::End.
Referenced by EmitCFIEndProc().
void MCStreamer::EmitCFIEscape | ( | StringRef | Values | ) | [virtual] |
Definition at line 342 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createEscape(), and llvm::MCDwarfFrameInfo::Instructions.
void MCStreamer::EmitCFILsda | ( | const MCSymbol * | Sym, |
unsigned | Encoding | ||
) | [virtual] |
Definition at line 304 of file MCStreamer.cpp.
References llvm::MCDwarfFrameInfo::Lsda, and llvm::MCDwarfFrameInfo::LsdaEncoding.
Referenced by llvm::DwarfCFIException::beginFunction().
void MCStreamer::EmitCFIOffset | ( | int64_t | Register, |
int64_t | Offset | ||
) | [virtual] |
Definition at line 280 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createOffset(), and llvm::MCDwarfFrameInfo::Instructions.
Referenced by llvm::AsmPrinter::emitCFIInstruction().
void MCStreamer::EmitCFIPersonality | ( | const MCSymbol * | Sym, |
unsigned | Encoding | ||
) | [virtual] |
Definition at line 296 of file MCStreamer.cpp.
References llvm::MCDwarfFrameInfo::Personality, and llvm::MCDwarfFrameInfo::PersonalityEncoding.
Referenced by llvm::DwarfCFIException::beginFunction().
void MCStreamer::EmitCFIRegister | ( | int64_t | Register1, |
int64_t | Register2 | ||
) | [virtual] |
Definition at line 363 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createRegister(), and llvm::MCDwarfFrameInfo::Instructions.
Referenced by llvm::AsmPrinter::emitCFIInstruction().
void MCStreamer::EmitCFIRelOffset | ( | int64_t | Register, |
int64_t | Offset | ||
) | [virtual] |
Definition at line 288 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createRelOffset(), and llvm::MCDwarfFrameInfo::Instructions.
void MCStreamer::EmitCFIRememberState | ( | ) | [virtual] |
Definition at line 311 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createRememberState(), and llvm::MCDwarfFrameInfo::Instructions.
void MCStreamer::EmitCFIRestore | ( | int64_t | Register | ) | [virtual] |
Definition at line 334 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createRestore(), and llvm::MCDwarfFrameInfo::Instructions.
void MCStreamer::EmitCFIRestoreState | ( | ) | [virtual] |
Definition at line 318 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createRestoreState(), and llvm::MCDwarfFrameInfo::Instructions.
void MCStreamer::EmitCFISameValue | ( | int64_t | Register | ) | [virtual] |
Definition at line 326 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createSameValue(), and llvm::MCDwarfFrameInfo::Instructions.
Referenced by llvm::AsmPrinter::emitCFIInstruction().
void MCStreamer::EmitCFISections | ( | bool | EH, |
bool | Debug | ||
) | [virtual] |
Reimplemented in llvm::MCObjectStreamer.
Definition at line 210 of file MCStreamer.cpp.
Referenced by llvm::DwarfCFIException::endModule(), and llvm::ARMException::endModule().
void MCStreamer::EmitCFISignalFrame | ( | ) | [virtual] |
Definition at line 349 of file MCStreamer.cpp.
References llvm::MCDwarfFrameInfo::IsSignalFrame.
void MCStreamer::EmitCFIStartProc | ( | bool | IsSimple | ) |
Definition at line 214 of file MCStreamer.cpp.
References EmitCFIStartProcImpl(), llvm::MCDwarfFrameInfo::End, llvm::MCDwarfFrameInfo::IsSimple, and llvm::report_fatal_error().
Referenced by llvm::DwarfCFIException::beginFunction(), and llvm::ARMException::beginFunction().
void MCStreamer::EmitCFIStartProcImpl | ( | MCDwarfFrameInfo & | Frame | ) | [protected, virtual] |
Definition at line 226 of file MCStreamer.cpp.
Referenced by EmitCFIStartProc().
void MCStreamer::EmitCFIUndefined | ( | int64_t | Register | ) | [virtual] |
Definition at line 355 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createUndefined(), and llvm::MCDwarfFrameInfo::Instructions.
void MCStreamer::EmitCFIWindowSave | ( | ) | [virtual] |
Definition at line 371 of file MCStreamer.cpp.
References llvm::MCCFIInstruction::createWindowSave(), and llvm::MCDwarfFrameInfo::Instructions.
Referenced by llvm::AsmPrinter::emitCFIInstruction().
void MCStreamer::EmitCodeAlignment | ( | unsigned | ByteAlignment, |
unsigned | MaxBytesToEmit = 0 |
||
) | [virtual] |
EmitCodeAlignment - Emit nops until the byte alignment ByteAlignment
is reached.
This used to align code where the alignment bytes may be executed. This can emit different bytes for different sizes to optimize execution.
ByteAlignment | - The alignment to reach. This must be a power of two on some targets. |
MaxBytesToEmit | - The maximum numbers of bytes to emit, or 0. If the alignment cannot be reached in this many bytes, no bytes are emitted. |
Reimplemented in llvm::MCObjectStreamer.
Definition at line 643 of file MCStreamer.cpp.
Referenced by llvm::AsmPrinter::EmitAlignment(), and llvm::ConstantPool::emitEntries().
void MCStreamer::EmitCOFFSecRel32 | ( | MCSymbol const * | Symbol | ) | [virtual] |
EmitCOFFSecRel32 - Emits a COFF section relative relocation.
Symbol | - Symbol the section relative relocation should point to. |
Reimplemented in llvm::MCWinCOFFStreamer.
Definition at line 541 of file MCStreamer.cpp.
Referenced by llvm::AsmPrinter::EmitLabelPlusOffset(), llvm::AsmPrinter::EmitSectionOffset(), and EmitSymbolValue().
void MCStreamer::EmitCOFFSectionIndex | ( | MCSymbol const * | Symbol | ) | [virtual] |
EmitCOFFSectionIndex - Emits a COFF section index.
Symbol | - Symbol the section number relocation should point to. |
Reimplemented in llvm::MCWinCOFFStreamer.
Definition at line 538 of file MCStreamer.cpp.
void MCStreamer::EmitCOFFSymbolStorageClass | ( | int | StorageClass | ) | [virtual] |
EmitCOFFSymbolStorageClass - Emit the storage class of the symbol.
StorageClass | - The storage class the symbol should have. |
Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 624 of file MCStreamer.cpp.
Referenced by llvm::X86AsmPrinter::EmitStartOfAsmFile(), llvm::ARMAsmPrinter::runOnMachineFunction(), and llvm::X86AsmPrinter::runOnMachineFunction().
void MCStreamer::EmitCOFFSymbolType | ( | int | Type | ) | [virtual] |
EmitCOFFSymbolType - Emit the type of the symbol.
Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 625 of file MCStreamer.cpp.
Referenced by llvm::X86AsmPrinter::EmitStartOfAsmFile(), llvm::ARMAsmPrinter::runOnMachineFunction(), and llvm::X86AsmPrinter::runOnMachineFunction().
virtual void llvm::MCStreamer::EmitCommonSymbol | ( | MCSymbol * | Symbol, |
uint64_t | Size, | ||
unsigned | ByteAlignment | ||
) | [pure virtual] |
EmitCommonSymbol - 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. |
Implemented in llvm::MCELFStreamer, llvm::MCWinCOFFStreamer, and llvm::RecordStreamer.
Referenced by llvm::AsmPrinter::EmitGlobalVariable().
virtual void llvm::MCStreamer::EmitDataRegion | ( | MCDataRegionType | Kind | ) | [inline, virtual] |
EmitDataRegion - Note in the output the specified region Kind
.
Definition at line 401 of file MCStreamer.h.
Referenced by llvm::ConstantPool::emitEntries(), llvm::ARMAsmPrinter::EmitFunctionBodyEnd(), llvm::MipsAsmPrinter::EmitFunctionBodyEnd(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::MipsAsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitJump2Table(), llvm::ARMAsmPrinter::EmitJumpTable(), and llvm::AsmPrinter::EmitJumpTableInfo().
unsigned MCStreamer::EmitDwarfFileDirective | ( | unsigned | FileNo, |
StringRef | Directory, | ||
StringRef | Filename, | ||
unsigned | CUID = 0 |
||
) | [virtual] |
EmitDwarfFileDirective - Associate a filename with a specified logical file number. This implements the DWARF2 '.file 4 "foo.c"' assembler directive.
Definition at line 144 of file MCStreamer.cpp.
References getContext(), and llvm::MCContext::GetDwarfFile().
Referenced by llvm::DwarfCompileUnit::getOrCreateSourceID().
void MCStreamer::EmitDwarfLocDirective | ( | unsigned | FileNo, |
unsigned | Line, | ||
unsigned | Column, | ||
unsigned | Flags, | ||
unsigned | Isa, | ||
unsigned | Discriminator, | ||
StringRef | FileName | ||
) | [virtual] |
EmitDwarfLocDirective - This implements the DWARF2.
Reimplemented in llvm::MCObjectStreamer.
Definition at line 150 of file MCStreamer.cpp.
References getContext(), and llvm::MCContext::setCurrentDwarfLoc().
void MCStreamer::EmitEHSymAttributes | ( | const MCSymbol * | Symbol, |
MCSymbol * | EHSymbol | ||
) | [virtual] |
Definition at line 181 of file MCStreamer.cpp.
void MCStreamer::EmitELFSize | ( | MCSymbol * | Symbol, |
const MCExpr * | Value | ||
) | [virtual] |
EmitELFSize - Emit an ELF .size directive.
This corresponds to an assembler statement such as: .size symbol, expression
Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 626 of file MCStreamer.cpp.
Referenced by llvm::AsmPrinter::EmitFunctionBody(), llvm::AsmPrinter::EmitGlobalVariable(), and llvm::TargetLoweringObjectFileELF::emitPersonalityValue().
void MCStreamer::EmitFileDirective | ( | StringRef | Filename | ) | [virtual] |
EmitFileDirective - Switch to a new logical file. This is used to implement the '.file "foo.c"' assembler directive.
Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 623 of file MCStreamer.cpp.
Referenced by llvm::AsmPrinter::doInitialization().
void MCStreamer::EmitFill | ( | uint64_t | NumBytes, |
uint8_t | FillValue | ||
) | [virtual] |
EmitFill - Emit NumBytes bytes worth of the value specified by FillValue. This implements directives such as '.space'.
Reimplemented in llvm::MCObjectStreamer.
Definition at line 133 of file MCStreamer.cpp.
References llvm::MCConstantExpr::Create(), EmitValue(), and getContext().
Referenced by EmitGenDwarfRanges(), emitGlobalConstantArray(), emitGlobalConstantDataSequential(), EmitZeros(), and llvm::WinCodeViewLineTables::endModule().
void MCStreamer::EmitGPRel32Value | ( | const MCExpr * | Value | ) | [virtual] |
EmitGPRel32Value - Emit the expression Value
into the output as a gprel32 (32-bit GP relative) value.
This is used to implement assembler directives such as .gprel32 on targets that support them.
Reimplemented in llvm::MCObjectStreamer.
Definition at line 127 of file MCStreamer.cpp.
References llvm::report_fatal_error().
void MCStreamer::EmitGPRel64Value | ( | const MCExpr * | Value | ) | [virtual] |
EmitGPRel64Value - Emit the expression Value
into the output as a gprel64 (64-bit GP relative) value.
This is used to implement assembler directives such as .gpdword on targets that support them.
Reimplemented in llvm::MCObjectStreamer.
Definition at line 123 of file MCStreamer.cpp.
References llvm::report_fatal_error().
virtual void llvm::MCStreamer::EmitIdent | ( | StringRef | IdentString | ) | [inline, virtual] |
Emit the "identifiers" directive. This implements the '.ident "version foo"' assembler directive.
Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 642 of file MCStreamer.h.
void MCStreamer::EmitInstruction | ( | const MCInst & | Inst, |
const MCSubtargetInfo & | STI | ||
) | [virtual] |
EmitInstruction - Emit the given Instruction
into the current section.
Reimplemented in llvm::MCObjectStreamer, llvm::MipsELFStreamer, and llvm::RecordStreamer.
Definition at line 610 of file MCStreamer.cpp.
References llvm::MCOperand::getExpr(), llvm::MCInst::getNumOperands(), llvm::MCInst::getOperand(), llvm::MCOperand::isExpr(), and visitUsedExpr().
Referenced by llvm::AsmPrinter::doFinalization(), EmitBinary(), EmitCall(), llvm::AsmPrinter::EmitFunctionBody(), llvm::X86AsmInstrumentation::EmitInstruction(), EmitNops(), EmitSETHI(), and llvm::AsmPrinter::EmitToStreamer().
void MCStreamer::EmitIntValue | ( | uint64_t | Value, |
unsigned | Size | ||
) | [virtual] |
EmitIntValue - Special case of EmitValue that avoids the client having to pass in a MCExpr for constant integers.
Definition at line 76 of file MCStreamer.cpp.
References EmitBytes(), llvm::MCContext::getAsmInfo(), llvm::isIntN(), llvm::MCAsmInfo::isLittleEndian(), and llvm::isUIntN().
Referenced by llvm::DwarfStringPool::emit(), llvm::MCDwarfLineTableHeader::Emit(), llvm::AsmPrinter::EmitCFAByte(), llvm::MipsTargetELFStreamer::emitDirectiveEnd(), EmitDwarfLineTable(), emitDwarfSetLineAddr(), llvm::AsmPrinter::EmitEncodingByte(), emitEncodingByte(), llvm::EHStreamer::emitExceptionTable(), EmitGenDwarfAbbrev(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), EmitGenDwarfRanges(), llvm::AsmPrinter::EmitGlobalConstant(), emitGlobalConstantDataSequential(), emitGlobalConstantFP(), emitGlobalConstantImpl(), emitGlobalConstantLargeInt(), llvm::AsmPrinter::EmitGlobalVariable(), llvm::DwarfTypeUnit::emitHeader(), llvm::MCELFStreamer::EmitIdent(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::AsmPrinter::EmitInt16(), llvm::AsmPrinter::EmitInt32(), llvm::AsmPrinter::EmitInt8(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), llvm::TargetLoweringObjectFileMachO::emitModuleFlags(), emitNonLazySymbolPointer(), llvm::AsmPrinter::EmitTTypeReference(), llvm::EmitUnwindCode(), llvm::EmitUnwindInfo(), llvm::DIEInteger::EmitValue(), llvm::DIETypeSignature::EmitValue(), llvm::MCObjectStreamer::EmitValueImpl(), and llvm::operator<<().
void MCStreamer::EmitLabel | ( | MCSymbol * | Symbol | ) | [virtual] |
EmitLabel - 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 in llvm::MCObjectStreamer, llvm::MCELFStreamer, llvm::MCWinCOFFStreamer, and llvm::RecordStreamer.
Definition at line 200 of file MCStreamer.cpp.
References AssignSection(), llvm::MCTargetStreamer::emitLabel(), getCurrentSection(), getTargetStreamer(), and llvm::MCSymbol::isVariable().
Referenced by llvm::Win64Exception::beginFunction(), llvm::DwarfCFIException::beginFunction(), llvm::ARMException::beginFunction(), llvm::AsmPrinter::doFinalization(), llvm::DwarfStringPool::emit(), llvm::MCDwarfLineTableHeader::Emit(), llvm::MCDwarfDwoLineTable::Emit(), llvm::MCGenDwarfInfo::Emit(), llvm::AsmPrinter::EmitBasicBlockStart(), EmitCamlGlobal(), llvm::AsmPrinter::EmitConstantPool(), llvm::SystemZAsmPrinter::EmitEndOfAsmFile(), llvm::AMDGPUAsmPrinter::EmitEndOfAsmFile(), llvm::ARMAsmPrinter::EmitEndOfAsmFile(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), llvm::ConstantPool::emitEntries(), llvm::EHStreamer::emitExceptionTable(), llvm::AsmPrinter::EmitFunctionBody(), llvm::ARMAsmPrinter::EmitFunctionEntryLabel(), llvm::MipsAsmPrinter::EmitFunctionEntryLabel(), llvm::AsmPrinter::EmitFunctionEntryLabel(), llvm::AsmPrinter::EmitFunctionHeader(), EmitGenDwarfInfo(), llvm::AsmPrinter::EmitGlobalVariable(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::X86AsmPrinter::EmitInstruction(), llvm::MipsAsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitJump2Table(), llvm::ARMAsmPrinter::EmitJumpTable(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::ARMAsmPrinter::EmitMachineConstantPoolValue(), llvm::TargetLoweringObjectFileMachO::emitModuleFlags(), emitNonLazySymbolPointer(), llvm::TargetLoweringObjectFileELF::emitPersonalityValue(), emitSectionSym(), llvm::DwarfFile::emitUnits(), llvm::EmitUnwindInfo(), EmitWinCFIAllocStack(), EmitWinCFIEndChained(), EmitWinCFIEndProc(), EmitWinCFIEndProlog(), EmitWinCFIPushFrame(), EmitWinCFIPushReg(), EmitWinCFISaveReg(), EmitWinCFISaveXMM(), EmitWinCFISetFrame(), EmitWinCFIStartChained(), EmitWinCFIStartProc(), llvm::Win64Exception::endFunction(), llvm::DwarfCFIException::endFunction(), llvm::ARMException::endFunction(), llvm::WinCodeViewLineTables::endFunction(), llvm::MCContext::finalizeDwarfSections(), llvm::MCAsmInfo::getExprForFDESymbol(), llvm::AArch64MCAsmInfoDarwin::getExprForPersonalitySymbol(), llvm::AArch64_MachoTargetObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFile::getTTypeReference(), llvm::MCGenDwarfLabelEntry::Make(), and llvm::StackMaps::serializeToStackMapSection().
virtual void llvm::MCStreamer::EmitLinkerOptions | ( | ArrayRef< std::string > | Kind | ) | [inline, virtual] |
EmitLinkerOptions - Emit the given list Options
of strings as linker options into the output.
Definition at line 398 of file MCStreamer.h.
Referenced by llvm::TargetLoweringObjectFileMachO::emitModuleFlags().
void MCStreamer::EmitLocalCommonSymbol | ( | MCSymbol * | Symbol, |
uint64_t | Size, | ||
unsigned | ByteAlignment | ||
) | [virtual] |
EmitLocalCommonSymbol - 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 in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 627 of file MCStreamer.cpp.
Referenced by llvm::AsmPrinter::EmitGlobalVariable().
virtual void llvm::MCStreamer::EmitLOHDirective | ( | MCLOHType | Kind, |
const MCLOHArgs & | Args | ||
) | [inline, virtual] |
Emit a Linker Optimization Hint (LOH) directive.
Args | - Arguments of the LOH. |
Definition at line 480 of file MCStreamer.h.
void MCStreamer::emitRawComment | ( | const Twine & | T, |
bool | TabPrefix = true |
||
) | [virtual] |
Print T and prefix it with the comment string (normally #) and optionally a tab. This prints the comment immediately, not at the end of the current line. It is basically a safe version of EmitRawText: since it only prints comments, the object streamer ignores it instead of asserting.
Definition at line 66 of file MCStreamer.cpp.
Referenced by llvm::AsmPrinter::EmitBasicBlockStart(), emitDebugValueComment(), llvm::X86AsmPrinter::EmitInstruction(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
void MCStreamer::EmitRawText | ( | const Twine & | String | ) |
EmitRawText - If this file is backed by a assembly streamer, this dumps the specified string in the output .s file. This capability is indicated by the hasRawTextSupport() predicate. By default this aborts.
Definition at line 553 of file MCStreamer.cpp.
References EmitRawTextImpl(), and llvm::Twine::toStringRef().
void MCStreamer::EmitRawTextImpl | ( | StringRef | String | ) | [protected, virtual] |
EmitRawText - If this file is backed by an assembly streamer, this dumps the specified string in the output .s file. This capability is indicated by the hasRawTextSupport() predicate.
Definition at line 547 of file MCStreamer.cpp.
References llvm::errs().
Referenced by EmitRawText().
void MCStreamer::EmitSLEB128IntValue | ( | int64_t | Value | ) |
EmitSLEB128Value - Special case of EmitSLEB128Value that avoids the client having to pass in a MCExpr for constant integers.
Definition at line 100 of file MCStreamer.cpp.
References EmitBytes(), llvm::encodeSLEB128(), and llvm::raw_svector_ostream::str().
Referenced by llvm::AsmPrinter::EmitSLEB128(), and llvm::MCObjectStreamer::EmitSLEB128Value().
void MCStreamer::EmitSLEB128Value | ( | const MCExpr * | Value | ) | [virtual] |
Reimplemented in llvm::MCObjectStreamer.
Definition at line 639 of file MCStreamer.cpp.
virtual bool llvm::MCStreamer::EmitSymbolAttribute | ( | MCSymbol * | Symbol, |
MCSymbolAttr | Attribute | ||
) | [pure virtual] |
EmitSymbolAttribute - Add the given Attribute
to Symbol
.
Implemented in llvm::MCELFStreamer, llvm::MCWinCOFFStreamer, and llvm::RecordStreamer.
Referenced by llvm::AsmPrinter::doFinalization(), EmitCamlGlobal(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), llvm::AsmPrinter::EmitFunctionHeader(), llvm::AsmPrinter::EmitGlobalVariable(), emitNonLazySymbolPointer(), llvm::TargetLoweringObjectFileELF::emitPersonalityValue(), llvm::AsmPrinter::EmitSpecialLLVMGlobal(), llvm::X86AsmPrinter::EmitStartOfAsmFile(), llvm::ARMException::endFunction(), and llvm::X86AsmPrinter::GetCPISymbol().
void MCStreamer::EmitSymbolDesc | ( | MCSymbol * | Symbol, |
unsigned | DescValue | ||
) | [virtual] |
EmitSymbolDesc - 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 in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 620 of file MCStreamer.cpp.
void MCStreamer::EmitSymbolValue | ( | const MCSymbol * | Sym, |
unsigned | Size, | ||
bool | IsSectionRelative = false |
||
) |
EmitSymbolValue - Special case of EmitValue that avoids the client having to pass in a MCExpr for MCSymbols.
Definition at line 112 of file MCStreamer.cpp.
References llvm::MCSymbolRefExpr::Create(), EmitCOFFSecRel32(), EmitValueImpl(), and getContext().
Referenced by emitDwarfSetLineAddr(), llvm::SystemZAsmPrinter::EmitEndOfAsmFile(), llvm::ARMAsmPrinter::EmitEndOfAsmFile(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), llvm::AsmPrinter::EmitGlobalVariable(), llvm::AsmPrinter::EmitLabelDifference(), llvm::AsmPrinter::EmitLabelOffsetDifference(), llvm::TargetLoweringObjectFileELF::emitPersonalityValue(), and llvm::AsmPrinter::EmitSectionOffset().
void MCStreamer::EmitTBSSSymbol | ( | const MCSection * | Section, |
MCSymbol * | Symbol, | ||
uint64_t | Size, | ||
unsigned | ByteAlignment = 0 |
||
) | [virtual] |
EmitTBSSSymbol - 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 in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 629 of file MCStreamer.cpp.
Referenced by llvm::AsmPrinter::EmitGlobalVariable().
void MCStreamer::EmitThumbFunc | ( | MCSymbol * | Func | ) | [virtual] |
EmitThumbFunc - Note in the output that the specified Func
is a Thumb mode function (ARM target only).
Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 619 of file MCStreamer.cpp.
Referenced by llvm::AsmPrinter::doFinalization(), and llvm::ARMAsmPrinter::EmitFunctionEntryLabel().
void MCStreamer::EmitULEB128IntValue | ( | uint64_t | Value, |
unsigned | Padding = 0 |
||
) |
EmitULEB128Value - Special case of EmitULEB128Value that avoids the client having to pass in a MCExpr for constant integers.
Definition at line 91 of file MCStreamer.cpp.
References EmitBytes(), llvm::encodeULEB128(), and llvm::raw_svector_ostream::str().
Referenced by llvm::MCDwarfLineTableHeader::Emit(), EmitAbbrev(), EmitDwarfLineTable(), emitDwarfSetLineAddr(), EmitGenDwarfAbbrev(), EmitGenDwarfInfo(), llvm::AsmPrinter::EmitULEB128(), and llvm::MCObjectStreamer::EmitULEB128Value().
void MCStreamer::EmitULEB128Value | ( | const MCExpr * | Value | ) | [virtual] |
Reimplemented in llvm::MCObjectStreamer.
Definition at line 638 of file MCStreamer.cpp.
Definition at line 107 of file MCStreamer.cpp.
References EmitValueImpl().
Referenced by llvm::AddressPool::emit(), llvm::EmitAbsDifference(), emitAbsValue(), llvm::ConstantPool::emitEntries(), emitFDESymbol(), EmitFill(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), EmitGenDwarfRanges(), emitGlobalConstantImpl(), llvm::ARMAsmPrinter::EmitJump2Table(), llvm::ARMAsmPrinter::EmitJumpTable(), llvm::EmitLabelDiff(), llvm::AsmPrinter::EmitLabelDifference(), llvm::AsmPrinter::EmitLabelOffsetDifference(), llvm::AsmPrinter::EmitLabelPlusOffset(), llvm::SystemZAsmPrinter::EmitMachineConstantPoolValue(), llvm::ARMAsmPrinter::EmitMachineConstantPoolValue(), emitNonLazySymbolPointer(), EmitPersonality(), llvm::EmitRuntimeFunction(), llvm::EmitSymbolRefWithOfs(), llvm::AsmPrinter::EmitTTypeReference(), llvm::EmitUnwindInfo(), llvm::DIEExpr::EmitValue(), and llvm::ARMAsmPrinter::EmitXXStructor().
void MCStreamer::EmitValueImpl | ( | const MCExpr * | Value, |
unsigned | Size, | ||
const SMLoc & | Loc = SMLoc() |
||
) | [virtual] |
EmitValue - Emit the expression Value
into the output as a native integer of the given Size
bytes.
This is used to implement assembler directives such as .word, .quad, etc.
Value | - The value to emit. |
Size | - The size of the integer (in bytes) to emit. This must match a native machine width. |
Loc | - The location of the expression for error reporting. |
Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.
Definition at line 634 of file MCStreamer.cpp.
References visitUsedExpr().
Referenced by llvm::MipsTargetELFStreamer::emitDirectiveEnd(), EmitSymbolValue(), and EmitValue().
void MCStreamer::EmitValueToAlignment | ( | unsigned | ByteAlignment, |
int64_t | Value = 0 , |
||
unsigned | ValueSize = 1 , |
||
unsigned | MaxBytesToEmit = 0 |
||
) | [virtual] |
EmitValueToAlignment - Emit some number of copies of Value
until the byte alignment ByteAlignment
is reached.
If the number of bytes need to emit for the alignment is not a multiple of ValueSize
, then the contents of the emitted fill bytes is undefined.
This used to implement the .align assembler directive.
ByteAlignment | - The alignment to reach. This must be a power of two on some targets. |
Value | - The value to use when filling bytes. |
ValueSize | - The size of the integer (in bytes) to emit for Value . This must match a native machine width. |
MaxBytesToEmit | - The maximum numbers of bytes to emit, or 0. If the alignment cannot be reached in this many bytes, no bytes are emitted. |
Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.
Definition at line 640 of file MCStreamer.cpp.
Referenced by llvm::AsmPrinter::EmitAlignment(), llvm::TargetLoweringObjectFileELF::emitPersonalityValue(), llvm::EmitRuntimeFunction(), and llvm::EmitUnwindInfo().
bool MCStreamer::EmitValueToOffset | ( | const MCExpr * | Offset, |
unsigned char | Value = 0 |
||
) | [virtual] |
EmitValueToOffset - Emit some number of copies of Value
until the byte offset Offset
is reached.
This is used to implement assembler directives such as .org.
Offset | - The offset to reach. This may be an expression, but the expression must be associated with the current section. |
Value | - The value to use when filling bytes. |
Reimplemented in llvm::MCObjectStreamer.
Definition at line 645 of file MCStreamer.cpp.
virtual void llvm::MCStreamer::EmitVersionMin | ( | MCVersionMinType | , |
unsigned | Major, | ||
unsigned | Minor, | ||
unsigned | Update | ||
) | [inline, virtual] |
EmitVersionMin - Specify the MachO minimum deployment target version.
Definition at line 404 of file MCStreamer.h.
Referenced by llvm::AsmPrinter::doInitialization().
void MCStreamer::EmitWeakReference | ( | MCSymbol * | Alias, |
const MCSymbol * | Symbol | ||
) | [virtual] |
EmitWeakReference - Emit an weak reference from Alias
to Symbol
.
This corresponds to an assembler statement such as: .weakref alias, symbol
Alias | - The alias that is being created. |
Symbol | - The symbol being aliased. |
Reimplemented in llvm::MCObjectStreamer, and llvm::MCELFStreamer.
Definition at line 632 of file MCStreamer.cpp.
void MCStreamer::EmitWinCFIAllocStack | ( | unsigned | Size | ) | [virtual] |
Definition at line 477 of file MCStreamer.cpp.
References llvm::Win64EH::Instruction::Alloc(), llvm::MCContext::CreateTempSymbol(), EmitLabel(), getContext(), llvm::WinEH::FrameInfo::Instructions, and llvm::report_fatal_error().
Referenced by llvm::X86AsmPrinter::EmitInstruction().
void MCStreamer::EmitWinCFIEndChained | ( | ) | [virtual] |
Definition at line 416 of file MCStreamer.cpp.
References llvm::WinEH::FrameInfo::ChainedParent, llvm::MCContext::CreateTempSymbol(), EmitLabel(), llvm::WinEH::FrameInfo::End, getContext(), and llvm::report_fatal_error().
void MCStreamer::EmitWinCFIEndProc | ( | ) | [virtual] |
Definition at line 395 of file MCStreamer.cpp.
References llvm::WinEH::FrameInfo::ChainedParent, llvm::MCContext::CreateTempSymbol(), EmitLabel(), llvm::WinEH::FrameInfo::End, getContext(), and llvm::report_fatal_error().
Referenced by llvm::Win64Exception::endFunction().
void MCStreamer::EmitWinCFIEndProlog | ( | ) | [virtual] |
Definition at line 529 of file MCStreamer.cpp.
References llvm::MCContext::CreateTempSymbol(), EmitLabel(), getContext(), and llvm::WinEH::FrameInfo::PrologEnd.
Referenced by llvm::X86AsmPrinter::EmitInstruction().
void MCStreamer::EmitWinCFIPushFrame | ( | bool | Code | ) | [virtual] |
Definition at line 517 of file MCStreamer.cpp.
References llvm::MCContext::CreateTempSymbol(), EmitLabel(), getContext(), llvm::WinEH::FrameInfo::Instructions, llvm::Win64EH::Instruction::PushMachFrame(), and llvm::report_fatal_error().
Referenced by llvm::X86AsmPrinter::EmitInstruction().
void MCStreamer::EmitWinCFIPushReg | ( | unsigned | Register | ) | [virtual] |
Definition at line 449 of file MCStreamer.cpp.
References llvm::MCContext::CreateTempSymbol(), EmitLabel(), getContext(), llvm::WinEH::FrameInfo::Instructions, and llvm::Win64EH::Instruction::PushNonVol().
Referenced by llvm::X86AsmPrinter::EmitInstruction().
void MCStreamer::EmitWinCFISaveReg | ( | unsigned | Register, |
unsigned | Offset | ||
) | [virtual] |
Definition at line 491 of file MCStreamer.cpp.
References llvm::MCContext::CreateTempSymbol(), EmitLabel(), getContext(), llvm::WinEH::FrameInfo::Instructions, llvm::report_fatal_error(), and llvm::Win64EH::Instruction::SaveNonVol().
Referenced by llvm::X86AsmPrinter::EmitInstruction().
void MCStreamer::EmitWinCFISaveXMM | ( | unsigned | Register, |
unsigned | Offset | ||
) | [virtual] |
Definition at line 504 of file MCStreamer.cpp.
References llvm::MCContext::CreateTempSymbol(), EmitLabel(), getContext(), llvm::WinEH::FrameInfo::Instructions, llvm::report_fatal_error(), and llvm::Win64EH::Instruction::SaveXMM().
Referenced by llvm::X86AsmPrinter::EmitInstruction().
void MCStreamer::EmitWinCFISetFrame | ( | unsigned | Register, |
unsigned | Offset | ||
) | [virtual] |
Definition at line 459 of file MCStreamer.cpp.
References llvm::MCContext::CreateTempSymbol(), EmitLabel(), getContext(), llvm::WinEH::FrameInfo::Instructions, llvm::WinEH::FrameInfo::LastFrameInst, llvm::report_fatal_error(), and llvm::Win64EH::Instruction::SetFPReg().
Referenced by llvm::X86AsmPrinter::EmitInstruction().
void MCStreamer::EmitWinCFIStartChained | ( | ) | [virtual] |
Definition at line 405 of file MCStreamer.cpp.
References llvm::MCContext::CreateTempSymbol(), EmitLabel(), llvm::WinEH::FrameInfo::Function, and getContext().
void MCStreamer::EmitWinCFIStartProc | ( | const MCSymbol * | Symbol | ) | [virtual] |
Definition at line 384 of file MCStreamer.cpp.
References llvm::MCContext::CreateTempSymbol(), EmitLabel(), llvm::WinEH::FrameInfo::End, getContext(), and llvm::report_fatal_error().
Referenced by llvm::Win64Exception::beginFunction().
void MCStreamer::EmitWindowsUnwindTables | ( | ) | [protected, virtual] |
Definition at line 558 of file MCStreamer.cpp.
void MCStreamer::EmitWinEHHandler | ( | const MCSymbol * | Sym, |
bool | Unwind, | ||
bool | Except | ||
) | [virtual] |
Definition at line 429 of file MCStreamer.cpp.
References llvm::WinEH::FrameInfo::ChainedParent, llvm::WinEH::FrameInfo::ExceptionHandler, llvm::WinEH::FrameInfo::HandlesExceptions, llvm::WinEH::FrameInfo::HandlesUnwind, and llvm::report_fatal_error().
Referenced by llvm::Win64Exception::beginFunction().
void MCStreamer::EmitWinEHHandlerData | ( | ) | [virtual] |
Reimplemented in llvm::MCWinCOFFStreamer.
Definition at line 443 of file MCStreamer.cpp.
References llvm::WinEH::FrameInfo::ChainedParent, and llvm::report_fatal_error().
Referenced by llvm::Win64Exception::endFunction().
virtual void llvm::MCStreamer::EmitZerofill | ( | const MCSection * | Section, |
MCSymbol * | Symbol = nullptr , |
||
uint64_t | Size = 0 , |
||
unsigned | ByteAlignment = 0 |
||
) | [pure virtual] |
EmitZerofill - 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. |
Implemented in llvm::MCELFStreamer, llvm::MCWinCOFFStreamer, and llvm::RecordStreamer.
Referenced by llvm::AsmPrinter::EmitGlobalVariable().
void MCStreamer::EmitZeros | ( | uint64_t | NumBytes | ) | [virtual] |
Emit NumBytes worth of zeros. This function properly handles data in virtual sections.
The implementation in this class just redirects to EmitFill.
Reimplemented in llvm::MCObjectStreamer.
Definition at line 140 of file MCStreamer.cpp.
References EmitFill().
Referenced by llvm::AsmPrinter::EmitConstantPool(), emitGlobalConstantDataSequential(), emitGlobalConstantFP(), emitGlobalConstantImpl(), emitGlobalConstantStruct(), and emitGlobalConstantVector().
void MCStreamer::EndCOFFSymbolDef | ( | ) | [virtual] |
EndCOFFSymbolDef - Marks the end of the symbol definition.
Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 622 of file MCStreamer.cpp.
Referenced by llvm::X86AsmPrinter::EmitStartOfAsmFile(), llvm::ARMAsmPrinter::runOnMachineFunction(), and llvm::X86AsmPrinter::runOnMachineFunction().
void MCStreamer::Finish | ( | ) |
Finish - Finish emission of machine code.
Definition at line 561 of file MCStreamer.cpp.
References llvm::MCTargetStreamer::finish(), FinishImpl(), getTargetStreamer(), and llvm::report_fatal_error().
Referenced by llvm::AsmPrinter::doFinalization().
void MCStreamer::FinishImpl | ( | ) | [virtual] |
FinishImpl - Streamer specific finalization.
Reimplemented in llvm::MCObjectStreamer, llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 650 of file MCStreamer.cpp.
Referenced by Finish().
virtual void llvm::MCStreamer::Flush | ( | ) | [inline, virtual] |
Flush - Causes any cached state to be written out.
Reimplemented in llvm::MCELFStreamer.
Definition at line 719 of file MCStreamer.h.
Referenced by llvm::AsmPrinter::doFinalization().
void MCStreamer::generateCompactUnwindEncodings | ( | MCAsmBackend * | MAB | ) |
Definition at line 68 of file MCStreamer.cpp.
References llvm::MCAsmBackend::generateCompactUnwindEncoding().
Referenced by llvm::MCDwarfFrameEmitter::Emit().
raw_ostream & MCStreamer::GetCommentOS | ( | ) | [virtual] |
GetCommentOS - Return a raw_ostream that comments can be written to. Unlike AddComment, you are required to terminate comments with
if you use this method.
Definition at line 61 of file MCStreamer.cpp.
References llvm::nulls().
Referenced by emitBasicBlockLoopComments(), llvm::AsmPrinter::EmitFunctionBody(), llvm::AsmPrinter::EmitFunctionHeader(), emitGlobalConstantDataSequential(), emitGlobalConstantFP(), emitGlobalConstantImpl(), and llvm::AsmPrinter::EmitGlobalVariable().
MCContext& llvm::MCStreamer::getContext | ( | ) | const [inline] |
Definition at line 224 of file MCStreamer.h.
Referenced by llvm::AssemblerConstantPools::addEntry(), buildSymbolDiff(), llvm::DwarfDebug::DwarfDebug(), llvm::Win64EH::UnwindEmitter::Emit(), llvm::MCDwarfLineTableHeader::Emit(), llvm::MCDwarfLineTable::Emit(), llvm::MCDwarfLineAddr::Emit(), llvm::MCGenDwarfInfo::Emit(), llvm::MCDwarfFrameEmitter::Emit(), llvm::EmitAbsDifference(), llvm::MCDwarfFrameEmitter::EmitAdvanceLoc(), llvm::MCWinCOFFStreamer::EmitCOFFSecRel32(), llvm::MCWinCOFFStreamer::EmitCOFFSectionIndex(), llvm::MCELFStreamer::EmitCommonSymbol(), llvm::MCDwarfLineTable::EmitCU(), EmitDwarfFileDirective(), EmitDwarfLineTable(), EmitDwarfLocDirective(), emitFDESymbol(), EmitFill(), EmitGenDwarfAbbrev(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), EmitGenDwarfRanges(), llvm::MipsELFStreamer::EmitInstruction(), llvm::EmitLabelDiff(), llvm::MCWinCOFFStreamer::EmitLocalCommonSymbol(), emitNonLazySymbolPointer(), EmitPersonality(), llvm::EmitRuntimeFunction(), llvm::EmitSymbolRefWithOfs(), EmitSymbolValue(), llvm::Win64EH::UnwindEmitter::EmitUnwindInfo(), llvm::EmitUnwindInfo(), llvm::MCObjectStreamer::EmitValueToOffset(), llvm::MCELFStreamer::EmitWeakReference(), EmitWinCFIAllocStack(), EmitWinCFIEndChained(), EmitWinCFIEndProc(), EmitWinCFIEndProlog(), EmitWinCFIPushFrame(), EmitWinCFIPushReg(), EmitWinCFISaveReg(), EmitWinCFISaveXMM(), EmitWinCFISetFrame(), EmitWinCFIStartChained(), EmitWinCFIStartProc(), llvm::WinCodeViewLineTables::endFunction(), llvm::MCContext::finalizeDwarfSections(), llvm::MCObjectStreamer::FinishImpl(), forceExpAbs(), getDataAlignmentFactor(), getDwarfLineTableSymbol(), llvm::SparcELFMCAsmInfo::getExprForFDESymbol(), llvm::MCAsmInfo::getExprForFDESymbol(), llvm::AArch64MCAsmInfoDarwin::getExprForPersonalitySymbol(), llvm::SparcELFMCAsmInfo::getExprForPersonalitySymbol(), llvm::X86_64MCAsmInfoDarwin::getExprForPersonalitySymbol(), getSizeForEncoding(), llvm::MCWinCOFFStreamer::InitSections(), llvm::MCELFStreamer::InitSections(), InitSections(), llvm::MCLineEntry::Make(), llvm::MCGenDwarfLabelEntry::Make(), MakeStartMinusEndExpr(), and llvm::StackMaps::serializeToStackMapSection().
MCSectionSubPair llvm::MCStreamer::getCurrentSection | ( | ) | const [inline] |
getCurrentSection - Return the current section that the streamer is emitting code to.
Definition at line 287 of file MCStreamer.h.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), and llvm::SmallVectorBase::empty().
Referenced by llvm::AssemblerConstantPools::addEntry(), llvm::MCObjectStreamer::EmitBytes(), llvm::MCObjectStreamer::EmitDwarfLocDirective(), llvm::AssemblerConstantPools::emitForCurrentSection(), llvm::MCObjectStreamer::EmitInstruction(), EmitLabel(), llvm::MCObjectStreamer::EmitValueImpl(), llvm::MCObjectStreamer::EmitZeros(), llvm::AsmPrinter::getCurrentSection(), llvm::MCGenDwarfLabelEntry::Make(), and PushSection().
WinEH::FrameInfo* llvm::MCStreamer::getCurrentWinFrameInfo | ( | ) | [inline, protected] |
Definition at line 202 of file MCStreamer.h.
ArrayRef<MCDwarfFrameInfo> llvm::MCStreamer::getDwarfFrameInfos | ( | ) | const [inline] |
Definition at line 231 of file MCStreamer.h.
Referenced by llvm::MCDwarfFrameEmitter::Emit().
MCSymbol * MCStreamer::getDwarfLineTableSymbol | ( | unsigned | CUID | ) | [virtual] |
Definition at line 159 of file MCStreamer.cpp.
References llvm::MCContext::getAsmInfo(), getContext(), llvm::MCDwarfLineTable::getLabel(), llvm::MCContext::getMCDwarfLineTable(), llvm::MCContext::GetOrCreateSymbol(), llvm::MCAsmInfo::getPrivateGlobalPrefix(), llvm::cl::Prefix, and llvm::MCDwarfLineTable::setLabel().
Referenced by llvm::MCGenDwarfInfo::Emit(), and llvm::DwarfCompileUnit::initStmtList().
unsigned llvm::MCStreamer::getNumFrameInfos | ( | ) | [inline] |
Definition at line 230 of file MCStreamer.h.
Referenced by llvm::MCObjectStreamer::EmitFrames().
unsigned llvm::MCStreamer::getNumWinFrameInfos | ( | ) | [inline] |
Definition at line 235 of file MCStreamer.h.
Referenced by reset(), and ~MCStreamer().
MCSectionSubPair llvm::MCStreamer::getPreviousSection | ( | ) | const [inline] |
getPreviousSection - Return the previous section that the streamer is emitting code to.
Definition at line 295 of file MCStreamer.h.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), and llvm::SmallVectorBase::empty().
Referenced by PushSection().
unsigned llvm::MCStreamer::GetSymbolOrder | ( | const MCSymbol * | Sym | ) | const [inline] |
GetSymbolOrder - Returns an index to represent the order a symbol was emitted in. (zero if we did not emit that symbol)
Definition at line 303 of file MCStreamer.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::lookup().
MCTargetStreamer* llvm::MCStreamer::getTargetStreamer | ( | ) | [inline] |
Definition at line 226 of file MCStreamer.h.
Referenced by EmitAssignment(), EmitLabel(), and Finish().
ArrayRef<WinEH::FrameInfo *> llvm::MCStreamer::getWinFrameInfos | ( | ) | const [inline] |
Definition at line 236 of file MCStreamer.h.
Referenced by llvm::Win64EH::UnwindEmitter::Emit().
virtual bool llvm::MCStreamer::hasRawTextSupport | ( | ) | const [inline, virtual] |
hasRawTextSupport - Return true if this asm streamer supports emitting unformatted text to the .s file with EmitRawText.
Definition at line 251 of file MCStreamer.h.
Referenced by llvm::DwarfCompileUnit::getOrCreateSourceID().
void MCStreamer::InitSections | ( | ) | [virtual] |
Create the default sections and set the initial one.
Reimplemented in llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 185 of file MCStreamer.cpp.
References getContext(), and SwitchSection().
Referenced by llvm::AsmPrinter::doInitialization().
virtual bool llvm::MCStreamer::isIntegratedAssemblerRequired | ( | ) | const [inline, virtual] |
Is the integrated assembler required for this streamer to function correctly?
Reimplemented in llvm::MCObjectStreamer.
Definition at line 255 of file MCStreamer.h.
virtual bool llvm::MCStreamer::isVerboseAsm | ( | ) | const [inline, virtual] |
isVerboseAsm - Return true if this streamer supports verbose assembly and if it is enabled.
Definition at line 247 of file MCStreamer.h.
Referenced by llvm::AsmPrinter::AsmPrinter(), llvm::EHStreamer::emitExceptionTable(), and llvm::EHStreamer::emitTypeInfos().
virtual bool llvm::MCStreamer::mayHaveInstructions | ( | ) | const [inline, virtual] |
Reimplemented in llvm::MCObjectStreamer.
Definition at line 726 of file MCStreamer.h.
Referenced by llvm::MCContext::finalizeDwarfSections().
bool llvm::MCStreamer::PopSection | ( | ) | [inline] |
popSection - Restore the current and previous section from the section stack. Calls ChangeSection as needed.
Returns false if the stack was empty.
Definition at line 324 of file MCStreamer.h.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), ChangeSection(), llvm::SmallVectorImpl< T >::pop_back_val(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by llvm::MipsTargetELFStreamer::emitDirectiveEnd(), llvm::MCELFStreamer::EmitIdent(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), and llvm::Win64Exception::endFunction().
void llvm::MCStreamer::PushSection | ( | ) | [inline] |
pushSection - Save the current and previous section on the section stack.
Definition at line 315 of file MCStreamer.h.
References getCurrentSection(), getPreviousSection(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by llvm::MipsTargetELFStreamer::emitDirectiveEnd(), llvm::MCELFStreamer::EmitIdent(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), and llvm::Win64Exception::endFunction().
void MCStreamer::reset | ( | ) | [virtual] |
State management
Reimplemented in llvm::MCObjectStreamer, llvm::MCELFStreamer, and llvm::MCWinCOFFStreamer.
Definition at line 50 of file MCStreamer.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::clear(), llvm::SmallVectorImpl< T >::clear(), getNumWinFrameInfos(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), and llvm::AsmPrinter::doFinalization().
void llvm::MCStreamer::setTargetStreamer | ( | MCTargetStreamer * | TS | ) | [inline] |
Definition at line 216 of file MCStreamer.h.
Referenced by llvm::MCTargetStreamer::MCTargetStreamer().
bool llvm::MCStreamer::SubSection | ( | const MCExpr * | Subsection | ) | [inline] |
Definition at line 335 of file MCStreamer.h.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::SmallVectorBase::empty(), and SwitchSection().
void llvm::MCStreamer::SwitchSection | ( | const MCSection * | Section, |
const MCExpr * | Subsection = nullptr |
||
) | [inline] |
SwitchSection - Set the current section where code is being emitted to Section
. This is required to update CurSection.
This corresponds to assembler directives like .section, .text, etc.
Definition at line 347 of file MCStreamer.h.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), and ChangeSection().
Referenced by llvm::AsmPrinter::doFinalization(), llvm::DwarfStringPool::emit(), llvm::AddressPool::emit(), llvm::Win64EH::UnwindEmitter::Emit(), llvm::MCDwarfLineTable::Emit(), llvm::MCGenDwarfInfo::Emit(), llvm::MCDwarfFrameEmitter::Emit(), llvm::DwarfFile::emitAbbrevs(), emitConstantPool(), llvm::AsmPrinter::EmitConstantPool(), llvm::MipsTargetELFStreamer::emitDirectiveEnd(), EmitDwarfLineTable(), llvm::SystemZAsmPrinter::EmitEndOfAsmFile(), llvm::AMDGPUAsmPrinter::EmitEndOfAsmFile(), llvm::ARMAsmPrinter::EmitEndOfAsmFile(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), llvm::MipsAsmPrinter::EmitEndOfAsmFile(), llvm::EHStreamer::emitExceptionTable(), llvm::AsmPrinter::EmitFunctionHeader(), EmitGenDwarfAbbrev(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), EmitGenDwarfRanges(), llvm::AsmPrinter::EmitGlobalVariable(), llvm::MCELFStreamer::EmitIdent(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::MipsTargetELFStreamer::emitMipsAbiFlags(), llvm::MipsRegInfoRecord::EmitMipsOptionRecord(), llvm::TargetLoweringObjectFileMachO::emitModuleFlags(), llvm::TargetLoweringObjectFileCOFF::emitModuleFlags(), llvm::TargetLoweringObjectFileELF::emitPersonalityValue(), emitSectionSym(), llvm::ARMAsmPrinter::EmitStartOfAsmFile(), llvm::X86AsmPrinter::EmitStartOfAsmFile(), llvm::MipsAsmPrinter::EmitStartOfAsmFile(), llvm::DwarfFile::emitUnits(), llvm::Win64EH::UnwindEmitter::EmitUnwindInfo(), llvm::WinCodeViewLineTables::endModule(), llvm::MCContext::finalizeDwarfSections(), llvm::MCWinCOFFStreamer::InitSections(), llvm::MCELFStreamer::InitSections(), InitSections(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::StackMaps::serializeToStackMapSection(), and SubSection().
void llvm::MCStreamer::SwitchSectionNoChange | ( | const MCSection * | Section, |
const MCExpr * | Subsection = nullptr |
||
) | [inline] |
SwitchSectionNoChange - Set the current section where code is being emitted to Section
. This is required to update CurSection. This version does not call ChangeSection.
Definition at line 361 of file MCStreamer.h.
References llvm::SmallVectorTemplateCommon< T, typename >::back().
void MCStreamer::visitUsedExpr | ( | const MCExpr & | Expr | ) |
Definition at line 584 of file MCStreamer.cpp.
References llvm::MCExpr::Binary, llvm::MCExpr::Constant, llvm::MCExpr::getKind(), llvm::MCBinaryExpr::getLHS(), llvm::MCBinaryExpr::getRHS(), llvm::MCExpr::SymbolRef, llvm::MCExpr::Target, llvm::MCExpr::Unary, and visitUsedSymbol().
Referenced by EmitAssignment(), EmitInstruction(), EmitValueImpl(), llvm::MipsMCExpr::visitUsedExpr(), llvm::ARMMCExpr::visitUsedExpr(), llvm::PPCMCExpr::visitUsedExpr(), llvm::SparcMCExpr::visitUsedExpr(), and llvm::AArch64MCExpr::visitUsedExpr().
void MCStreamer::visitUsedSymbol | ( | const MCSymbol & | Sym | ) | [virtual] |
Reimplemented in llvm::MCObjectStreamer.
Definition at line 581 of file MCStreamer.cpp.
Referenced by visitUsedExpr().