LLVM  4.0.0
Public Member Functions | Protected Attributes | List of all members
llvm::MCAsmInfo Class Reference

This class is intended to be used as a base class for asm properties and features specific to the target. More...

#include <MCAsmInfo.h>

Inheritance diagram for llvm::MCAsmInfo:
[legend]
Collaboration diagram for llvm::MCAsmInfo:
[legend]

Public Member Functions

 MCAsmInfo ()
 
virtual ~MCAsmInfo ()
 
unsigned getPointerSize () const
 Get the pointer size in bytes. More...
 
unsigned getCalleeSaveStackSlotSize () const
 Get the callee-saved register stack slot size in bytes. More...
 
bool isLittleEndian () const
 True if the target is little endian. More...
 
bool isStackGrowthDirectionUp () const
 True if target stack grow up. More...
 
bool hasSubsectionsViaSymbols () const
 
const char * getData8bitsDirective () const
 
const char * getData16bitsDirective () const
 
const char * getData32bitsDirective () const
 
const char * getData64bitsDirective () const
 
const char * getGPRel64Directive () const
 
const char * getGPRel32Directive () const
 
const char * getDTPRel64Directive () const
 
const char * getDTPRel32Directive () const
 
const char * getTPRel64Directive () const
 
const char * getTPRel32Directive () const
 
virtual MCSectiongetNonexecutableStackSection (MCContext &Ctx) const
 Targets can implement this method to specify a section to switch to if the translation unit doesn't have any trampolines that require an executable stack. More...
 
virtual bool isSectionAtomizableBySymbols (const MCSection &Section) const
 True if the section is atomized using the symbols in it. More...
 
virtual const MCExprgetExprForPersonalitySymbol (const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const
 
virtual const MCExprgetExprForFDESymbol (const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const
 
virtual bool isValidUnquotedName (StringRef Name) const
 Return true if the identifier Name does not need quotes to be syntactically correct. More...
 
virtual bool shouldOmitSectionDirective (StringRef SectionName) const
 Return true if the .section directive should be omitted when emitting SectionName. More...
 
bool usesSunStyleELFSectionSwitchSyntax () const
 
bool usesELFSectionDirectiveForBSS () const
 
bool needsDwarfSectionOffsetDirective () const
 
bool hasMachoZeroFillDirective () const
 
bool hasMachoTBSSDirective () const
 
unsigned getMaxInstLength () const
 
unsigned getMinInstAlignment () const
 
bool getDollarIsPC () const
 
const char * getSeparatorString () const
 
unsigned getCommentColumn () const
 This indicates the column (zero-based) at which asm comments should be printed. More...
 
StringRef getCommentString () const
 
const char * getLabelSuffix () const
 
bool useAssignmentForEHBegin () const
 
bool needsLocalForSize () const
 
StringRef getPrivateGlobalPrefix () const
 
StringRef getPrivateLabelPrefix () const
 
bool hasLinkerPrivateGlobalPrefix () const
 
StringRef getLinkerPrivateGlobalPrefix () const
 
const char * getInlineAsmStart () const
 
const char * getInlineAsmEnd () const
 
const char * getCode16Directive () const
 
const char * getCode32Directive () const
 
const char * getCode64Directive () const
 
unsigned getAssemblerDialect () const
 
bool doesAllowAtInName () const
 
bool supportsNameQuoting () const
 
bool doesSupportDataRegionDirectives () const
 
const char * getZeroDirective () const
 
const char * getAsciiDirective () const
 
const char * getAscizDirective () const
 
bool getAlignmentIsInBytes () const
 
unsigned getTextAlignFillValue () const
 
const char * getGlobalDirective () const
 
bool doesSetDirectiveSuppressReloc () const
 
bool hasAggressiveSymbolFolding () const
 
bool getCOMMDirectiveAlignmentIsInBytes () const
 
LCOMM::LCOMMType getLCOMMDirectiveAlignmentType () const
 
bool hasFunctionAlignment () const
 
bool hasDotTypeDotSizeDirective () const
 
bool hasSingleParameterDotFile () const
 
bool hasIdentDirective () const
 
bool hasNoDeadStrip () const
 
bool hasAltEntry () const
 
const char * getWeakDirective () const
 
const char * getWeakRefDirective () const
 
bool hasWeakDefDirective () const
 
bool hasWeakDefCanBeHiddenDirective () const
 
bool hasLinkOnceDirective () const
 
MCSymbolAttr getHiddenVisibilityAttr () const
 
MCSymbolAttr getHiddenDeclarationVisibilityAttr () const
 
MCSymbolAttr getProtectedVisibilityAttr () const
 
bool doesSupportDebugInformation () const
 
bool doesSupportExceptionHandling () const
 
ExceptionHandling getExceptionHandlingType () const
 
WinEH::EncodingType getWinEHEncodingType () const
 
void setExceptionsType (ExceptionHandling EH)
 
bool usesCFIForEH () const
 Returns true if the exception handling method for the platform uses call frame information to unwind. More...
 
bool usesWindowsCFI () const
 
bool doesDwarfUseRelocationsAcrossSections () const
 
bool doDwarfFDESymbolsUseAbsDiff () const
 
bool useDwarfRegNumForCFI () const
 
bool useParensForSymbolVariant () const
 
void addInitialFrameState (const MCCFIInstruction &Inst)
 
const std::vector
< MCCFIInstruction > & 
getInitialFrameState () const
 
bool useIntegratedAssembler () const
 Return true if assembly (inline or otherwise) should be parsed. More...
 
virtual void setUseIntegratedAssembler (bool Value)
 Set whether assembly (inline or otherwise) should be parsed. More...
 
bool preserveAsmComments () const
 Return true if assembly (inline or otherwise) should be parsed. More...
 
virtual void setPreserveAsmComments (bool Value)
 Set whether assembly (inline or otherwise) should be parsed. More...
 
DebugCompressionType compressDebugSections () const
 
void setCompressDebugSections (DebugCompressionType CompressDebugSections)
 
bool shouldUseLogicalShr () const
 
bool canRelaxRelocations () const
 
void setRelaxELFRelocations (bool V)
 
bool hasMipsExpressions () const
 

Protected Attributes

unsigned PointerSize
 Pointer size in bytes. Default is 4. More...
 
unsigned CalleeSaveStackSlotSize
 Size of the stack slot reserved for callee-saved registers, in bytes. More...
 
bool IsLittleEndian
 True if target is little endian. Default is true. More...
 
bool StackGrowsUp
 True if target stack grow up. Default is false. More...
 
bool HasSubsectionsViaSymbols
 True if this target has the MachO .subsections_via_symbols directive. More...
 
bool HasMachoZeroFillDirective
 True if this is a MachO target that supports the macho-specific .zerofill directive for emitting BSS Symbols. More...
 
bool HasMachoTBSSDirective
 True if this is a MachO target that supports the macho-specific .tbss directive for emitting thread local BSS Symbols. More...
 
unsigned MaxInstLength
 This is the maximum possible length of an instruction, which is needed to compute the size of an inline asm. More...
 
unsigned MinInstAlignment
 Every possible instruction length is a multiple of this value. More...
 
bool DollarIsPC
 The '$' token, when not referencing an identifier or constant, refers to the current PC. More...
 
const char * SeparatorString
 This string, if specified, is used to separate instructions from each other when on the same line. More...
 
StringRef CommentString
 This indicates the comment character used by the assembler. More...
 
const char * LabelSuffix
 This is appended to emitted labels. Defaults to ":". More...
 
bool UseAssignmentForEHBegin
 
bool NeedsLocalForSize
 
StringRef PrivateGlobalPrefix
 This prefix is used for globals like constant pool entries that are completely private to the .s file and should not have names in the .o file. More...
 
StringRef PrivateLabelPrefix
 This prefix is used for labels for basic blocks. More...
 
StringRef LinkerPrivateGlobalPrefix
 This prefix is used for symbols that should be passed through the assembler but be removed by the linker. More...
 
const char * InlineAsmStart
 If these are nonempty, they contain a directive to emit before and after an inline assembly statement. More...
 
const char * InlineAsmEnd
 
const char * Code16Directive
 These are assembly directives that tells the assembler to interpret the following instructions differently. More...
 
const char * Code32Directive
 
const char * Code64Directive
 
unsigned AssemblerDialect
 Which dialect of an assembler variant to use. Defaults to 0. More...
 
bool AllowAtInName
 This is true if the assembler allows @ characters in symbol names. More...
 
bool SupportsQuotedNames
 If this is true, symbol names with invalid characters will be printed in quotes. More...
 
bool UseDataRegionDirectives
 This is true if data region markers should be printed as ".data_region/.end_data_region" directives. More...
 
const char * ZeroDirective
 This should be set to the directive used to get some number of zero bytes emitted to the current section. More...
 
const char * AsciiDirective
 This directive allows emission of an ascii string with the standard C escape characters embedded into it. More...
 
const char * AscizDirective
 If not null, this allows for special handling of zero terminated strings on this target. More...
 
const char * Data8bitsDirective
 These directives are used to output some unit of integer data to the current section. More...
 
const char * Data16bitsDirective
 
const char * Data32bitsDirective
 
const char * Data64bitsDirective
 
const char * GPRel64Directive
 If non-null, a directive that is used to emit a word which should be relocated as a 64-bit GP-relative offset, e.g. More...
 
const char * GPRel32Directive
 If non-null, a directive that is used to emit a word which should be relocated as a 32-bit GP-relative offset, e.g. More...
 
const char * DTPRel32Directive = nullptr
 If non-null, directives that are used to emit a word/dword which should be relocated as a 32/64-bit DTP/TP-relative offset, e.g. More...
 
const char * DTPRel64Directive = nullptr
 
const char * TPRel32Directive = nullptr
 
const char * TPRel64Directive = nullptr
 
bool SunStyleELFSectionSwitchSyntax
 This is true if this target uses "Sun Style" syntax for section switching ("#alloc,#write" etc) instead of the normal ELF syntax (,"a,w") in .section directives. More...
 
bool UsesELFSectionDirectiveForBSS
 This is true if this target uses ELF '.section' directive before the '.bss' one. More...
 
bool NeedsDwarfSectionOffsetDirective
 
bool AlignmentIsInBytes
 If this is true (the default) then the asmprinter emits ".align N" directives, where N is the number of bytes to align to. More...
 
unsigned TextAlignFillValue
 If non-zero, this is used to fill the executable space created as the result of a alignment directive. More...
 
const char * GlobalDirective
 This is the directive used to declare a global entity. More...
 
bool SetDirectiveSuppressesReloc
 True if the expression .long f - g uses a relocation but it can be suppressed by writing a = f - g .long a. More...
 
bool HasAggressiveSymbolFolding
 False if the assembler requires that we use. More...
 
bool COMMDirectiveAlignmentIsInBytes
 True is .comm's and .lcomms optional alignment is to be specified in bytes instead of log2(n). More...
 
LCOMM::LCOMMType LCOMMDirectiveAlignmentType
 Describes if the .lcomm directive for the target supports an alignment argument and how it is interpreted. More...
 
bool HasFunctionAlignment
 
bool HasDotTypeDotSizeDirective
 True if the target has .type and .size directives, this is true for most ELF targets. More...
 
bool HasSingleParameterDotFile
 True if the target has a single parameter .file directive, this is true for ELF targets. More...
 
bool HasIdentDirective
 True if the target has a .ident directive, this is true for ELF targets. More...
 
bool HasNoDeadStrip
 True if this target supports the MachO .no_dead_strip directive. More...
 
bool HasAltEntry
 True if this target supports the MachO .alt_entry directive. More...
 
const char * WeakDirective
 Used to declare a global as being a weak symbol. Defaults to ".weak". More...
 
const char * WeakRefDirective
 This directive, if non-null, is used to declare a global as being a weak undefined symbol. More...
 
bool HasWeakDefDirective
 True if we have a directive to declare a global as being a weak defined symbol. More...
 
bool HasWeakDefCanBeHiddenDirective
 True if we have a directive to declare a global as being a weak defined symbol that can be hidden (unexported). More...
 
bool HasLinkOnceDirective
 True if we have a .linkonce directive. More...
 
MCSymbolAttr HiddenVisibilityAttr
 This attribute, if not MCSA_Invalid, is used to declare a symbol as having hidden visibility. More...
 
MCSymbolAttr HiddenDeclarationVisibilityAttr
 This attribute, if not MCSA_Invalid, is used to declare an undefined symbol as having hidden visibility. More...
 
MCSymbolAttr ProtectedVisibilityAttr
 This attribute, if not MCSA_Invalid, is used to declare a symbol as having protected visibility. More...
 
bool SupportsDebugInformation
 True if target supports emission of debugging information. More...
 
ExceptionHandling ExceptionsType
 Exception handling format for the target. Defaults to None. More...
 
WinEH::EncodingType WinEHEncodingType
 Windows exception handling data (.pdata) encoding. Defaults to Invalid. More...
 
bool DwarfUsesRelocationsAcrossSections
 True if Dwarf2 output generally uses relocations for references to other .debug_* sections. More...
 
bool DwarfFDESymbolsUseAbsDiff
 True if DWARF FDE symbol reference relocations should be replaced by an absolute difference. More...
 
bool DwarfRegNumForCFI
 True if dwarf register numbers are printed instead of symbolic register names in .cfi_* directives. More...
 
bool UseParensForSymbolVariant
 True if target uses parens to indicate the symbol variant instead of More...
 
std::vector< MCCFIInstructionInitialFrameState
 
bool UseIntegratedAssembler
 Should we use the integrated assembler? The integrated assembler should be enabled by default (by the constructors) when failing to parse a valid piece of assembly (inline or otherwise) is considered a bug. More...
 
bool PreserveAsmComments
 Preserve Comments in assembly. More...
 
DebugCompressionType CompressDebugSections
 Compress DWARF debug sections. Defaults to no compression. More...
 
bool UseLogicalShr
 True if the integrated assembler should interpret 'a >> b' constant expressions as logical rather than arithmetic. More...
 
bool RelaxELFRelocations = true
 
bool HasMipsExpressions = false
 

Detailed Description

This class is intended to be used as a base class for asm properties and features specific to the target.

Definition at line 57 of file MCAsmInfo.h.

Constructor & Destructor Documentation

MCAsmInfo::MCAsmInfo ( )
explicit

Definition at line 25 of file MCAsmInfo.cpp.

References AlignmentIsInBytes, AllowAtInName, AsciiDirective, AscizDirective, AssemblerDialect, CalleeSaveStackSlotSize, Code16Directive, Code32Directive, Code64Directive, COMMDirectiveAlignmentIsInBytes, CommentString, CompressDebugSections, Data16bitsDirective, Data32bitsDirective, Data64bitsDirective, Data8bitsDirective, llvm::DCT_None, DollarIsPC, DwarfFDESymbolsUseAbsDiff, DwarfRegNumForCFI, DwarfUsesRelocationsAcrossSections, ExceptionsType, GlobalDirective, GPRel32Directive, GPRel64Directive, HasAggressiveSymbolFolding, HasAltEntry, HasDotTypeDotSizeDirective, HasFunctionAlignment, HasIdentDirective, HasLinkOnceDirective, HasMachoTBSSDirective, HasMachoZeroFillDirective, HasNoDeadStrip, HasSingleParameterDotFile, HasSubsectionsViaSymbols, HasWeakDefCanBeHiddenDirective, HasWeakDefDirective, HiddenDeclarationVisibilityAttr, HiddenVisibilityAttr, InlineAsmEnd, InlineAsmStart, llvm::WinEH::Invalid, IsLittleEndian, LabelSuffix, LCOMMDirectiveAlignmentType, LinkerPrivateGlobalPrefix, MaxInstLength, llvm::MCSA_Hidden, llvm::MCSA_Protected, MinInstAlignment, NeedsDwarfSectionOffsetDirective, NeedsLocalForSize, llvm::LCOMM::NoAlignment, llvm::None, PointerSize, PreserveAsmComments, PrivateGlobalPrefix, PrivateLabelPrefix, ProtectedVisibilityAttr, SeparatorString, SetDirectiveSuppressesReloc, StackGrowsUp, SunStyleELFSectionSwitchSyntax, SupportsDebugInformation, SupportsQuotedNames, TextAlignFillValue, UseAssignmentForEHBegin, UseDataRegionDirectives, UseIntegratedAssembler, UseLogicalShr, UseParensForSymbolVariant, UsesELFSectionDirectiveForBSS, WeakDirective, WeakRefDirective, WinEHEncodingType, and ZeroDirective.

MCAsmInfo::~MCAsmInfo ( )
virtual

Definition at line 114 of file MCAsmInfo.cpp.

Member Function Documentation

void llvm::MCAsmInfo::addInitialFrameState ( const MCCFIInstruction Inst)
inline
bool llvm::MCAsmInfo::canRelaxRelocations ( ) const
inline

Definition at line 599 of file MCAsmInfo.h.

References RelaxELFRelocations.

Referenced by getRelocType32(), and getRelocType64().

DebugCompressionType llvm::MCAsmInfo::compressDebugSections ( ) const
inline

Definition at line 589 of file MCAsmInfo.h.

References CompressDebugSections.

bool llvm::MCAsmInfo::doDwarfFDESymbolsUseAbsDiff ( ) const
inline

Definition at line 561 of file MCAsmInfo.h.

References DwarfFDESymbolsUseAbsDiff.

Referenced by emitFDESymbol().

bool llvm::MCAsmInfo::doesAllowAtInName ( ) const
inline

Definition at line 492 of file MCAsmInfo.h.

References AllowAtInName.

bool llvm::MCAsmInfo::doesDwarfUseRelocationsAcrossSections ( ) const
inline
bool llvm::MCAsmInfo::doesSetDirectiveSuppressReloc ( ) const
inline
bool llvm::MCAsmInfo::doesSupportDataRegionDirectives ( ) const
inline

Definition at line 494 of file MCAsmInfo.h.

References UseDataRegionDirectives.

bool llvm::MCAsmInfo::doesSupportDebugInformation ( ) const
inline

Definition at line 534 of file MCAsmInfo.h.

References SupportsDebugInformation.

Referenced by llvm::AsmPrinter::doInitialization().

bool llvm::MCAsmInfo::doesSupportExceptionHandling ( ) const
inline

Definition at line 535 of file MCAsmInfo.h.

References ExceptionsType, and llvm::None.

bool llvm::MCAsmInfo::getAlignmentIsInBytes ( ) const
inline

Definition at line 500 of file MCAsmInfo.h.

References AlignmentIsInBytes.

const char* llvm::MCAsmInfo::getAsciiDirective ( ) const
inline

Definition at line 498 of file MCAsmInfo.h.

References AsciiDirective.

const char* llvm::MCAsmInfo::getAscizDirective ( ) const
inline

Definition at line 499 of file MCAsmInfo.h.

References AscizDirective.

unsigned llvm::MCAsmInfo::getAssemblerDialect ( ) const
inline
unsigned llvm::MCAsmInfo::getCalleeSaveStackSlotSize ( ) const
inline

Get the callee-saved register stack slot size in bytes.

Definition at line 387 of file MCAsmInfo.h.

References CalleeSaveStackSlotSize.

Referenced by getDataAlignmentFactor().

const char* llvm::MCAsmInfo::getCode16Directive ( ) const
inline

Definition at line 488 of file MCAsmInfo.h.

References Code16Directive.

const char* llvm::MCAsmInfo::getCode32Directive ( ) const
inline

Definition at line 489 of file MCAsmInfo.h.

References Code32Directive.

const char* llvm::MCAsmInfo::getCode64Directive ( ) const
inline

Definition at line 490 of file MCAsmInfo.h.

References Code64Directive.

bool llvm::MCAsmInfo::getCOMMDirectiveAlignmentIsInBytes ( ) const
inline

Definition at line 507 of file MCAsmInfo.h.

References COMMDirectiveAlignmentIsInBytes.

unsigned llvm::MCAsmInfo::getCommentColumn ( ) const
inline

This indicates the column (zero-based) at which asm comments should be printed.

Definition at line 469 of file MCAsmInfo.h.

Referenced by emitComments().

StringRef llvm::MCAsmInfo::getCommentString ( ) const
inline
const char* llvm::MCAsmInfo::getData16bitsDirective ( ) const
inline

Definition at line 402 of file MCAsmInfo.h.

References Data16bitsDirective.

const char* llvm::MCAsmInfo::getData32bitsDirective ( ) const
inline

Definition at line 403 of file MCAsmInfo.h.

References Data32bitsDirective.

const char* llvm::MCAsmInfo::getData64bitsDirective ( ) const
inline

Definition at line 404 of file MCAsmInfo.h.

References Data64bitsDirective.

const char* llvm::MCAsmInfo::getData8bitsDirective ( ) const
inline

Definition at line 401 of file MCAsmInfo.h.

References Data8bitsDirective.

bool llvm::MCAsmInfo::getDollarIsPC ( ) const
inline

Definition at line 464 of file MCAsmInfo.h.

References DollarIsPC.

const char* llvm::MCAsmInfo::getDTPRel32Directive ( ) const
inline

Definition at line 408 of file MCAsmInfo.h.

References DTPRel32Directive.

const char* llvm::MCAsmInfo::getDTPRel64Directive ( ) const
inline

Definition at line 407 of file MCAsmInfo.h.

References DTPRel64Directive.

ExceptionHandling llvm::MCAsmInfo::getExceptionHandlingType ( ) const
inline
const MCExpr * MCAsmInfo::getExprForFDESymbol ( const MCSymbol Sym,
unsigned  Encoding,
MCStreamer Streamer 
) const
virtual
const MCExpr * MCAsmInfo::getExprForPersonalitySymbol ( const MCSymbol Sym,
unsigned  Encoding,
MCStreamer Streamer 
) const
virtual
const char* llvm::MCAsmInfo::getGlobalDirective ( ) const
inline

Definition at line 502 of file MCAsmInfo.h.

References GlobalDirective.

const char* llvm::MCAsmInfo::getGPRel32Directive ( ) const
inline

Definition at line 406 of file MCAsmInfo.h.

References GPRel32Directive.

const char* llvm::MCAsmInfo::getGPRel64Directive ( ) const
inline

Definition at line 405 of file MCAsmInfo.h.

References GPRel64Directive.

MCSymbolAttr llvm::MCAsmInfo::getHiddenDeclarationVisibilityAttr ( ) const
inline

Definition at line 528 of file MCAsmInfo.h.

References HiddenDeclarationVisibilityAttr.

MCSymbolAttr llvm::MCAsmInfo::getHiddenVisibilityAttr ( ) const
inline

Definition at line 527 of file MCAsmInfo.h.

References HiddenVisibilityAttr.

const std::vector<MCCFIInstruction>& llvm::MCAsmInfo::getInitialFrameState ( ) const
inline

Definition at line 569 of file MCAsmInfo.h.

References InitialFrameState.

Referenced by llvm::MCStreamer::EmitCFIStartProc().

const char* llvm::MCAsmInfo::getInlineAsmEnd ( ) const
inline

Definition at line 487 of file MCAsmInfo.h.

References InlineAsmEnd.

const char* llvm::MCAsmInfo::getInlineAsmStart ( ) const
inline

Definition at line 486 of file MCAsmInfo.h.

References InlineAsmStart.

const char* llvm::MCAsmInfo::getLabelSuffix ( ) const
inline

Definition at line 472 of file MCAsmInfo.h.

References LabelSuffix.

LCOMM::LCOMMType llvm::MCAsmInfo::getLCOMMDirectiveAlignmentType ( ) const
inline

Definition at line 510 of file MCAsmInfo.h.

References LCOMMDirectiveAlignmentType.

Referenced by llvm::AsmPrinter::EmitGlobalVariable().

StringRef llvm::MCAsmInfo::getLinkerPrivateGlobalPrefix ( ) const
inline
unsigned llvm::MCAsmInfo::getMaxInstLength ( ) const
inline
unsigned llvm::MCAsmInfo::getMinInstAlignment ( ) const
inline

Definition at line 463 of file MCAsmInfo.h.

References MinInstAlignment.

Referenced by llvm::MCDwarfLineTableHeader::Emit(), and ScaleAddrDelta().

virtual MCSection* llvm::MCAsmInfo::getNonexecutableStackSection ( MCContext Ctx) const
inlinevirtual

Targets can implement this method to specify a section to switch to if the translation unit doesn't have any trampolines that require an executable stack.

Definition at line 415 of file MCAsmInfo.h.

Referenced by llvm::AsmPrinter::doFinalization(), and llvm::MCELFStreamer::InitSections().

unsigned llvm::MCAsmInfo::getPointerSize ( ) const
inline

Get the pointer size in bytes.

Definition at line 383 of file MCAsmInfo.h.

References PointerSize.

Referenced by llvm::MCDwarfFrameEmitter::Emit(), EmitDwarfLineTable(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), EmitGenDwarfRanges(), and getSizeForEncoding().

StringRef llvm::MCAsmInfo::getPrivateGlobalPrefix ( ) const
inline
StringRef llvm::MCAsmInfo::getPrivateLabelPrefix ( ) const
inline

Definition at line 477 of file MCAsmInfo.h.

References PrivateLabelPrefix.

Referenced by llvm::MachineBasicBlock::getSymbol().

MCSymbolAttr llvm::MCAsmInfo::getProtectedVisibilityAttr ( ) const
inline

Definition at line 531 of file MCAsmInfo.h.

References ProtectedVisibilityAttr.

const char* llvm::MCAsmInfo::getSeparatorString ( ) const
inline
unsigned llvm::MCAsmInfo::getTextAlignFillValue ( ) const
inline

Definition at line 501 of file MCAsmInfo.h.

References TextAlignFillValue.

const char* llvm::MCAsmInfo::getTPRel32Directive ( ) const
inline

Definition at line 410 of file MCAsmInfo.h.

References TPRel32Directive.

const char* llvm::MCAsmInfo::getTPRel64Directive ( ) const
inline

Definition at line 409 of file MCAsmInfo.h.

References TPRel64Directive.

const char* llvm::MCAsmInfo::getWeakDirective ( ) const
inline

Definition at line 519 of file MCAsmInfo.h.

References WeakDirective.

const char* llvm::MCAsmInfo::getWeakRefDirective ( ) const
inline

Definition at line 520 of file MCAsmInfo.h.

References WeakRefDirective.

Referenced by llvm::AsmPrinter::doFinalization().

WinEH::EncodingType llvm::MCAsmInfo::getWinEHEncodingType ( ) const
inline

Definition at line 539 of file MCAsmInfo.h.

References WinEHEncodingType.

Referenced by llvm::AsmPrinter::doInitialization().

const char* llvm::MCAsmInfo::getZeroDirective ( ) const
inline

Definition at line 497 of file MCAsmInfo.h.

References ZeroDirective.

bool llvm::MCAsmInfo::hasAggressiveSymbolFolding ( ) const
inline

Definition at line 506 of file MCAsmInfo.h.

References HasAggressiveSymbolFolding.

Referenced by forceExpAbs().

bool llvm::MCAsmInfo::hasAltEntry ( ) const
inline

Definition at line 518 of file MCAsmInfo.h.

References HasAltEntry.

bool llvm::MCAsmInfo::hasDotTypeDotSizeDirective ( ) const
inline
bool llvm::MCAsmInfo::hasFunctionAlignment ( ) const
inline

Definition at line 513 of file MCAsmInfo.h.

References HasFunctionAlignment.

bool llvm::MCAsmInfo::hasIdentDirective ( ) const
inline

Definition at line 516 of file MCAsmInfo.h.

References HasIdentDirective.

bool llvm::MCAsmInfo::hasLinkerPrivateGlobalPrefix ( ) const
inline

Definition at line 478 of file MCAsmInfo.h.

References LinkerPrivateGlobalPrefix.

Referenced by getLinkerPrivateGlobalPrefix().

bool llvm::MCAsmInfo::hasLinkOnceDirective ( ) const
inline

Definition at line 525 of file MCAsmInfo.h.

References HasLinkOnceDirective.

bool llvm::MCAsmInfo::hasMachoTBSSDirective ( ) const
inline

Definition at line 461 of file MCAsmInfo.h.

References HasMachoTBSSDirective.

Referenced by llvm::AsmPrinter::EmitGlobalVariable().

bool llvm::MCAsmInfo::hasMachoZeroFillDirective ( ) const
inline

Definition at line 460 of file MCAsmInfo.h.

References HasMachoZeroFillDirective.

Referenced by llvm::AsmPrinter::EmitGlobalVariable().

bool llvm::MCAsmInfo::hasMipsExpressions ( ) const
inline

Definition at line 601 of file MCAsmInfo.h.

References HasMipsExpressions.

Referenced by llvm::AsmLexer::LexToken().

bool llvm::MCAsmInfo::hasNoDeadStrip ( ) const
inline

Definition at line 517 of file MCAsmInfo.h.

References HasNoDeadStrip.

Referenced by llvm::AsmPrinter::EmitSpecialLLVMGlobal().

bool llvm::MCAsmInfo::hasSingleParameterDotFile ( ) const
inline

Definition at line 515 of file MCAsmInfo.h.

References HasSingleParameterDotFile.

Referenced by llvm::AsmPrinter::doInitialization().

bool llvm::MCAsmInfo::hasSubsectionsViaSymbols ( ) const
inline
bool llvm::MCAsmInfo::hasWeakDefCanBeHiddenDirective ( ) const
inline

Definition at line 522 of file MCAsmInfo.h.

References HasWeakDefCanBeHiddenDirective.

Referenced by canBeHidden().

bool llvm::MCAsmInfo::hasWeakDefDirective ( ) const
inline

Definition at line 521 of file MCAsmInfo.h.

References HasWeakDefDirective.

bool llvm::MCAsmInfo::isLittleEndian ( ) const
inline

True if the target is little endian.

Definition at line 392 of file MCAsmInfo.h.

References IsLittleEndian.

Referenced by llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc().

bool MCAsmInfo::isSectionAtomizableBySymbols ( const MCSection Section) const
virtual

True if the section is atomized using the symbols in it.

This is false if the section is not atomized at all (most ELF sections) or if it is atomized based on its contents (MachO' __TEXT,__cstring for example).

Reimplemented in llvm::MCAsmInfoDarwin.

Definition at line 117 of file MCAsmInfo.cpp.

Referenced by canUsePrivateLabel(), and llvm::MCAssembler::getAtom().

bool llvm::MCAsmInfo::isStackGrowthDirectionUp ( ) const
inline

True if target stack grow up.

Definition at line 395 of file MCAsmInfo.h.

References StackGrowsUp.

Referenced by getDataAlignmentFactor().

bool MCAsmInfo::isValidUnquotedName ( StringRef  Name) const
virtual

Return true if the identifier Name does not need quotes to be syntactically correct.

Definition at line 148 of file MCAsmInfo.cpp.

References C, llvm::StringRef::empty(), and isAcceptableChar().

Referenced by llvm::MCSymbol::print().

bool llvm::MCAsmInfo::needsDwarfSectionOffsetDirective ( ) const
inline
bool llvm::MCAsmInfo::needsLocalForSize ( ) const
inline

Definition at line 475 of file MCAsmInfo.h.

References NeedsLocalForSize.

Referenced by llvm::AsmPrinter::SetupMachineFunction().

bool llvm::MCAsmInfo::preserveAsmComments ( ) const
inline

Return true if assembly (inline or otherwise) should be parsed.

Definition at line 582 of file MCAsmInfo.h.

References PreserveAsmComments.

void llvm::MCAsmInfo::setCompressDebugSections ( DebugCompressionType  CompressDebugSections)
inline

Definition at line 593 of file MCAsmInfo.h.

References CompressDebugSections.

Referenced by llvm::LLVMTargetMachine::initAsmInfo().

void llvm::MCAsmInfo::setExceptionsType ( ExceptionHandling  EH)
inline

Definition at line 541 of file MCAsmInfo.h.

References ExceptionsType.

Referenced by llvm::LLVMTargetMachine::initAsmInfo().

virtual void llvm::MCAsmInfo::setPreserveAsmComments ( bool  Value)
inlinevirtual

Set whether assembly (inline or otherwise) should be parsed.

Definition at line 585 of file MCAsmInfo.h.

References PreserveAsmComments.

Referenced by llvm::LLVMTargetMachine::initAsmInfo().

void llvm::MCAsmInfo::setRelaxELFRelocations ( bool  V)
inline

Definition at line 600 of file MCAsmInfo.h.

References RelaxELFRelocations.

Referenced by llvm::LLVMTargetMachine::initAsmInfo().

virtual void llvm::MCAsmInfo::setUseIntegratedAssembler ( bool  Value)
inlinevirtual

Set whether assembly (inline or otherwise) should be parsed.

Reimplemented in llvm::ARMELFMCAsmInfo.

Definition at line 577 of file MCAsmInfo.h.

References UseIntegratedAssembler.

Referenced by llvm::LLVMTargetMachine::initAsmInfo().

bool MCAsmInfo::shouldOmitSectionDirective ( StringRef  SectionName) const
virtual

Return true if the .section directive should be omitted when emitting SectionName.

For example:

shouldOmitSectionDirective(".text")

returns false => .section .text,#alloc,#execinstr returns true => .text

Reimplemented in llvm::AMDGPUMCAsmInfo.

Definition at line 162 of file MCAsmInfo.cpp.

References usesELFSectionDirectiveForBSS().

Referenced by llvm::AMDGPUMCAsmInfo::shouldOmitSectionDirective(), and llvm::MCSectionELF::ShouldOmitSectionDirective().

bool llvm::MCAsmInfo::shouldUseLogicalShr ( ) const
inline

Definition at line 597 of file MCAsmInfo.h.

References UseLogicalShr.

bool llvm::MCAsmInfo::supportsNameQuoting ( ) const
inline

Definition at line 493 of file MCAsmInfo.h.

References SupportsQuotedNames.

Referenced by llvm::MCSymbol::print().

bool llvm::MCAsmInfo::useAssignmentForEHBegin ( ) const
inline

Definition at line 474 of file MCAsmInfo.h.

References UseAssignmentForEHBegin.

bool llvm::MCAsmInfo::useDwarfRegNumForCFI ( ) const
inline

Definition at line 562 of file MCAsmInfo.h.

References DwarfRegNumForCFI.

bool llvm::MCAsmInfo::useIntegratedAssembler ( ) const
inline

Return true if assembly (inline or otherwise) should be parsed.

Definition at line 574 of file MCAsmInfo.h.

References UseIntegratedAssembler.

bool llvm::MCAsmInfo::useParensForSymbolVariant ( ) const
inline

Definition at line 563 of file MCAsmInfo.h.

References UseParensForSymbolVariant.

bool llvm::MCAsmInfo::usesCFIForEH ( ) const
inline

Returns true if the exception handling method for the platform uses call frame information to unwind.

Definition at line 547 of file MCAsmInfo.h.

References llvm::ARM, llvm::DwarfCFI, ExceptionsType, and usesWindowsCFI().

Referenced by llvm::DwarfCFIException::beginFunction(), llvm::EHStreamer::computeCallSiteTable(), and llvm::DwarfCFIException::endModule().

bool llvm::MCAsmInfo::usesELFSectionDirectiveForBSS ( ) const
inline

Definition at line 450 of file MCAsmInfo.h.

References UsesELFSectionDirectiveForBSS.

Referenced by shouldOmitSectionDirective().

bool llvm::MCAsmInfo::usesSunStyleELFSectionSwitchSyntax ( ) const
inline

Definition at line 446 of file MCAsmInfo.h.

References SunStyleELFSectionSwitchSyntax.

Referenced by llvm::MCSectionELF::PrintSwitchToSection().

bool llvm::MCAsmInfo::usesWindowsCFI ( ) const
inline

Member Data Documentation

bool llvm::MCAsmInfo::AlignmentIsInBytes
protected
bool llvm::MCAsmInfo::AllowAtInName
protected

This is true if the assembler allows @ characters in symbol names.

Defaults to false.

Definition at line 149 of file MCAsmInfo.h.

Referenced by doesAllowAtInName(), MCAsmInfo(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().

const char* llvm::MCAsmInfo::AsciiDirective
protected

This directive allows emission of an ascii string with the standard C escape characters embedded into it.

Defaults to "\t.ascii\t"

Definition at line 170 of file MCAsmInfo.h.

Referenced by getAsciiDirective(), MCAsmInfo(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

const char* llvm::MCAsmInfo::AscizDirective
protected

If not null, this allows for special handling of zero terminated strings on this target.

This is commonly supported as ".asciz". If a target doesn't support this, it can be set to null. Defaults to "\t.asciz\t"

Definition at line 175 of file MCAsmInfo.h.

Referenced by getAscizDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().

unsigned llvm::MCAsmInfo::AssemblerDialect
protected
unsigned llvm::MCAsmInfo::CalleeSaveStackSlotSize
protected
const char* llvm::MCAsmInfo::Code16Directive
protected

These are assembly directives that tells the assembler to interpret the following instructions differently.

Defaults to ".code16", ".code32", ".code64".

Definition at line 140 of file MCAsmInfo.h.

Referenced by llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), getCode16Directive(), and MCAsmInfo().

const char* llvm::MCAsmInfo::Code32Directive
protected
const char* llvm::MCAsmInfo::Code64Directive
protected

Definition at line 142 of file MCAsmInfo.h.

Referenced by getCode64Directive(), and MCAsmInfo().

bool llvm::MCAsmInfo::COMMDirectiveAlignmentIsInBytes
protected

True is .comm's and .lcomms optional alignment is to be specified in bytes instead of log2(n).

Defaults to true.

Definition at line 258 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getCOMMDirectiveAlignmentIsInBytes(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo().

StringRef llvm::MCAsmInfo::CommentString
protected
DebugCompressionType llvm::MCAsmInfo::CompressDebugSections
protected

Compress DWARF debug sections. Defaults to no compression.

Definition at line 364 of file MCAsmInfo.h.

Referenced by compressDebugSections(), MCAsmInfo(), and setCompressDebugSections().

const char* llvm::MCAsmInfo::Data16bitsDirective
protected
const char* llvm::MCAsmInfo::Data32bitsDirective
protected
const char* llvm::MCAsmInfo::Data64bitsDirective
protected
const char* llvm::MCAsmInfo::Data8bitsDirective
protected

These directives are used to output some unit of integer data to the current section.

If a data directive is set to null, smaller data directives will be used to emit the large sizes. Defaults to "\t.byte\t", "\t.short\t", "\t.long\t", "\t.quad\t"

Definition at line 181 of file MCAsmInfo.h.

Referenced by getData8bitsDirective(), MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo().

bool llvm::MCAsmInfo::DollarIsPC
protected

The '$' token, when not referencing an identifier or constant, refers to the current PC.

Defaults to false.

Definition at line 98 of file MCAsmInfo.h.

Referenced by getDollarIsPC(), MCAsmInfo(), and llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo().

const char* llvm::MCAsmInfo::DTPRel32Directive = nullptr
protected

If non-null, directives that are used to emit a word/dword which should be relocated as a 32/64-bit DTP/TP-relative offset, e.g.

.dtprelword/ .dtpreldword/.tprelword/.tpreldword on Mips.

Definition at line 199 of file MCAsmInfo.h.

Referenced by getDTPRel32Directive(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().

const char* llvm::MCAsmInfo::DTPRel64Directive = nullptr
protected

Definition at line 200 of file MCAsmInfo.h.

Referenced by getDTPRel64Directive(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().

bool llvm::MCAsmInfo::DwarfFDESymbolsUseAbsDiff
protected

True if DWARF FDE symbol reference relocations should be replaced by an absolute difference.

Definition at line 337 of file MCAsmInfo.h.

Referenced by doDwarfFDESymbolsUseAbsDiff(), MCAsmInfo(), and llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().

bool llvm::MCAsmInfo::DwarfRegNumForCFI
protected

True if dwarf register numbers are printed instead of symbolic register names in .cfi_* directives.

Defaults to false.

Definition at line 341 of file MCAsmInfo.h.

Referenced by llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), MCAsmInfo(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::ARMELFMCAsmInfo::setUseIntegratedAssembler(), useDwarfRegNumForCFI(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().

bool llvm::MCAsmInfo::DwarfUsesRelocationsAcrossSections
protected

True if Dwarf2 output generally uses relocations for references to other .debug_* sections.

Definition at line 333 of file MCAsmInfo.h.

Referenced by doesDwarfUseRelocationsAcrossSections(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

ExceptionHandling llvm::MCAsmInfo::ExceptionsType
protected
const char* llvm::MCAsmInfo::GlobalDirective
protected

This is the directive used to declare a global entity.

Defaults to ".globl".

Definition at line 232 of file MCAsmInfo.h.

Referenced by getGlobalDirective(), MCAsmInfo(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

const char* llvm::MCAsmInfo::GPRel32Directive
protected

If non-null, a directive that is used to emit a word which should be relocated as a 32-bit GP-relative offset, e.g.

.gpword on Mips or .gprel32 on Alpha. Defaults to NULL.

Definition at line 194 of file MCAsmInfo.h.

Referenced by getGPRel32Directive(), MCAsmInfo(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().

const char* llvm::MCAsmInfo::GPRel64Directive
protected

If non-null, a directive that is used to emit a word which should be relocated as a 64-bit GP-relative offset, e.g.

.gpdword on Mips. Defaults to NULL.

Definition at line 189 of file MCAsmInfo.h.

Referenced by getGPRel64Directive(), MCAsmInfo(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().

bool llvm::MCAsmInfo::HasAggressiveSymbolFolding
protected

False if the assembler requires that we use.

Lc = a - b
.long Lc

instead of

.long a - b

Defaults to true.

Definition at line 254 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), hasAggressiveSymbolFolding(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

bool llvm::MCAsmInfo::HasAltEntry
protected

True if this target supports the MachO .alt_entry directive.

Defaults to false.

Definition at line 286 of file MCAsmInfo.h.

Referenced by hasAltEntry(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

bool llvm::MCAsmInfo::HasDotTypeDotSizeDirective
protected

True if the target has .type and .size directives, this is true for most ELF targets.

Defaults to true.

Definition at line 270 of file MCAsmInfo.h.

Referenced by llvm::BPFMCAsmInfo::BPFMCAsmInfo(), hasDotTypeDotSizeDirective(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

bool llvm::MCAsmInfo::HasFunctionAlignment
protected
bool llvm::MCAsmInfo::HasIdentDirective
protected

True if the target has a .ident directive, this is true for ELF targets.

Defaults to false.

Definition at line 278 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), hasIdentDirective(), MCAsmInfo(), and llvm::MCAsmInfoELF::MCAsmInfoELF().

bool llvm::MCAsmInfo::HasLinkOnceDirective
protected

True if we have a .linkonce directive.

This is used on cygwin/mingw. Defaults to false.

Definition at line 305 of file MCAsmInfo.h.

Referenced by hasLinkOnceDirective(), MCAsmInfo(), and llvm::MCAsmInfoCOFF::MCAsmInfoCOFF().

bool llvm::MCAsmInfo::HasMachoTBSSDirective
protected

True if this is a MachO target that supports the macho-specific .tbss directive for emitting thread local BSS Symbols.

Default is false.

Definition at line 86 of file MCAsmInfo.h.

Referenced by hasMachoTBSSDirective(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

bool llvm::MCAsmInfo::HasMachoZeroFillDirective
protected

True if this is a MachO target that supports the macho-specific .zerofill directive for emitting BSS Symbols.

Default is false.

Definition at line 82 of file MCAsmInfo.h.

Referenced by hasMachoZeroFillDirective(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

bool llvm::MCAsmInfo::HasMipsExpressions = false
protected

Definition at line 376 of file MCAsmInfo.h.

Referenced by hasMipsExpressions(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().

bool llvm::MCAsmInfo::HasNoDeadStrip
protected

True if this target supports the MachO .no_dead_strip directive.

Defaults to false.

Definition at line 282 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), hasNoDeadStrip(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

bool llvm::MCAsmInfo::HasSingleParameterDotFile
protected
bool llvm::MCAsmInfo::HasSubsectionsViaSymbols
protected

True if this target has the MachO .subsections_via_symbols directive.

Default is false.

Definition at line 78 of file MCAsmInfo.h.

Referenced by hasSubsectionsViaSymbols(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

bool llvm::MCAsmInfo::HasWeakDefCanBeHiddenDirective
protected

True if we have a directive to declare a global as being a weak defined symbol that can be hidden (unexported).

Defaults to false.

Definition at line 301 of file MCAsmInfo.h.

Referenced by hasWeakDefCanBeHiddenDirective(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::PPCMCAsmInfoDarwin::PPCMCAsmInfoDarwin(), and llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().

bool llvm::MCAsmInfo::HasWeakDefDirective
protected

True if we have a directive to declare a global as being a weak defined symbol.

Defaults to false.

Definition at line 297 of file MCAsmInfo.h.

Referenced by hasWeakDefDirective(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

MCSymbolAttr llvm::MCAsmInfo::HiddenDeclarationVisibilityAttr
protected

This attribute, if not MCSA_Invalid, is used to declare an undefined symbol as having hidden visibility.

Defaults to MCSA_Hidden.

Definition at line 313 of file MCAsmInfo.h.

Referenced by getHiddenDeclarationVisibilityAttr(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().

MCSymbolAttr llvm::MCAsmInfo::HiddenVisibilityAttr
protected

This attribute, if not MCSA_Invalid, is used to declare a symbol as having hidden visibility.

Defaults to MCSA_Hidden.

Definition at line 309 of file MCAsmInfo.h.

Referenced by getHiddenVisibilityAttr(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().

std::vector<MCCFIInstruction> llvm::MCAsmInfo::InitialFrameState
protected

Definition at line 349 of file MCAsmInfo.h.

Referenced by addInitialFrameState(), and getInitialFrameState().

const char* llvm::MCAsmInfo::InlineAsmEnd
protected
const char* llvm::MCAsmInfo::InlineAsmStart
protected

If these are nonempty, they contain a directive to emit before and after an inline assembly statement.

Defaults to "#APP\n", "#NO_APP\n"

Definition at line 134 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getInlineAsmStart(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

bool llvm::MCAsmInfo::IsLittleEndian
protected
const char* llvm::MCAsmInfo::LabelSuffix
protected

This is appended to emitted labels. Defaults to ":".

Definition at line 109 of file MCAsmInfo.h.

Referenced by getLabelSuffix(), and MCAsmInfo().

LCOMM::LCOMMType llvm::MCAsmInfo::LCOMMDirectiveAlignmentType
protected

Describes if the .lcomm directive for the target supports an alignment argument and how it is interpreted.

Defaults to NoAlignment.

Definition at line 262 of file MCAsmInfo.h.

Referenced by getLCOMMDirectiveAlignmentType(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), and llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo().

StringRef llvm::MCAsmInfo::LinkerPrivateGlobalPrefix
protected

This prefix is used for symbols that should be passed through the assembler but be removed by the linker.

This is 'l' on Darwin, currently used for some ObjC metadata. The default of "" meast that for this system a plain private symbol should be used. Defaults to "".

Definition at line 130 of file MCAsmInfo.h.

Referenced by getLinkerPrivateGlobalPrefix(), hasLinkerPrivateGlobalPrefix(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

unsigned llvm::MCAsmInfo::MaxInstLength
protected

This is the maximum possible length of an instruction, which is needed to compute the size of an inline asm.

Defaults to 4.

Definition at line 90 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getMaxInstLength(), and MCAsmInfo().

unsigned llvm::MCAsmInfo::MinInstAlignment
protected

Every possible instruction length is a multiple of this value.

Factored out in .debug_frame and .debug_line. Defaults to 1.

Definition at line 94 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), getMinInstAlignment(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), MCAsmInfo(), and llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo().

bool llvm::MCAsmInfo::NeedsDwarfSectionOffsetDirective
protected
bool llvm::MCAsmInfo::NeedsLocalForSize
protected
unsigned llvm::MCAsmInfo::PointerSize
protected
bool llvm::MCAsmInfo::PreserveAsmComments
protected

Preserve Comments in assembly.

Definition at line 361 of file MCAsmInfo.h.

Referenced by MCAsmInfo(), preserveAsmComments(), and setPreserveAsmComments().

StringRef llvm::MCAsmInfo::PrivateGlobalPrefix
protected
StringRef llvm::MCAsmInfo::PrivateLabelPrefix
protected
MCSymbolAttr llvm::MCAsmInfo::ProtectedVisibilityAttr
protected

This attribute, if not MCSA_Invalid, is used to declare a symbol as having protected visibility.

Defaults to MCSA_Protected

Definition at line 317 of file MCAsmInfo.h.

Referenced by getProtectedVisibilityAttr(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().

bool llvm::MCAsmInfo::RelaxELFRelocations = true
protected

Definition at line 372 of file MCAsmInfo.h.

Referenced by canRelaxRelocations(), and setRelaxELFRelocations().

const char* llvm::MCAsmInfo::SeparatorString
protected

This string, if specified, is used to separate instructions from each other when on the same line.

Defaults to ';'

Definition at line 102 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getSeparatorString(), and MCAsmInfo().

bool llvm::MCAsmInfo::SetDirectiveSuppressesReloc
protected

True if the expression .long f - g uses a relocation but it can be suppressed by writing a = f - g .long a.

Definition at line 239 of file MCAsmInfo.h.

Referenced by doesSetDirectiveSuppressReloc(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

bool llvm::MCAsmInfo::StackGrowsUp
protected

True if target stack grow up. Default is false.

Definition at line 74 of file MCAsmInfo.h.

Referenced by isStackGrowthDirectionUp(), and MCAsmInfo().

bool llvm::MCAsmInfo::SunStyleELFSectionSwitchSyntax
protected

This is true if this target uses "Sun Style" syntax for section switching ("#alloc,#write" etc) instead of the normal ELF syntax (,"a,w") in .section directives.

Defaults to false.

Definition at line 207 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), MCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), and usesSunStyleELFSectionSwitchSyntax().

bool llvm::MCAsmInfo::SupportsDebugInformation
protected
bool llvm::MCAsmInfo::SupportsQuotedNames
protected

If this is true, symbol names with invalid characters will be printed in quotes.

Definition at line 153 of file MCAsmInfo.h.

Referenced by MCAsmInfo(), and supportsNameQuoting().

unsigned llvm::MCAsmInfo::TextAlignFillValue
protected

If non-zero, this is used to fill the executable space created as the result of a alignment directive.

Defaults to 0

Definition at line 226 of file MCAsmInfo.h.

Referenced by getTextAlignFillValue(), MCAsmInfo(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().

const char* llvm::MCAsmInfo::TPRel32Directive = nullptr
protected

Definition at line 201 of file MCAsmInfo.h.

Referenced by getTPRel32Directive(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().

const char* llvm::MCAsmInfo::TPRel64Directive = nullptr
protected

Definition at line 202 of file MCAsmInfo.h.

Referenced by getTPRel64Directive(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().

bool llvm::MCAsmInfo::UseAssignmentForEHBegin
protected
bool llvm::MCAsmInfo::UseDataRegionDirectives
protected

This is true if data region markers should be printed as ".data_region/.end_data_region" directives.

If false, use "$d/$a" labels instead.

Definition at line 158 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), doesSupportDataRegionDirectives(), MCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().

bool llvm::MCAsmInfo::UseIntegratedAssembler
protected
bool llvm::MCAsmInfo::UseLogicalShr
protected

True if the integrated assembler should interpret 'a >> b' constant expressions as logical rather than arithmetic.

Definition at line 368 of file MCAsmInfo.h.

Referenced by MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), and shouldUseLogicalShr().

bool llvm::MCAsmInfo::UseParensForSymbolVariant
protected

True if target uses parens to indicate the symbol variant instead of

For example, foo(plt) instead of foo. Defaults to false.

Definition at line 345 of file MCAsmInfo.h.

Referenced by llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), MCAsmInfo(), and useParensForSymbolVariant().

bool llvm::MCAsmInfo::UsesELFSectionDirectiveForBSS
protected
const char* llvm::MCAsmInfo::WeakDirective
protected

Used to declare a global as being a weak symbol. Defaults to ".weak".

Definition at line 289 of file MCAsmInfo.h.

Referenced by getWeakDirective(), MCAsmInfo(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

const char* llvm::MCAsmInfo::WeakRefDirective
protected
WinEH::EncodingType llvm::MCAsmInfo::WinEHEncodingType
protected

Windows exception handling data (.pdata) encoding. Defaults to Invalid.

Definition at line 329 of file MCAsmInfo.h.

Referenced by getWinEHEncodingType(), MCAsmInfo(), usesWindowsCFI(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().

const char* llvm::MCAsmInfo::ZeroDirective
protected

This should be set to the directive used to get some number of zero bytes emitted to the current section.

Common cases are "\t.zero\t" and "\t.space\t". If this is set to null, the Data*bitsDirective's will be used to emit zero bytes. Defaults to "\t.zero\t"

Definition at line 166 of file MCAsmInfo.h.

Referenced by getZeroDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfo::SystemZMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().


The documentation for this class was generated from the following files: