LLVM 22.0.0git
Classes | Public Types | Public Member Functions | Protected 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 "llvm/MC/MCAsmInfo.h"

Inheritance diagram for llvm::MCAsmInfo:
[legend]

Classes

struct  AtSpecifier
 

Public Types

enum  AsmCharLiteralSyntax { ACLS_Unknown , ACLS_SingleQuotePrefix }
 Assembly character literal syntax types. More...
 

Public Member Functions

 MCAsmInfo ()
 
virtual ~MCAsmInfo ()
 
 MCAsmInfo (MCAsmInfo const &)=delete
 
MCAsmInfooperator= (MCAsmInfo const &)=delete
 
unsigned getCodePointerSize () const
 Get the code pointer size in bytes.
 
unsigned getCalleeSaveStackSlotSize () const
 Get the callee-saved register stack slot size in bytes.
 
bool isLittleEndian () const
 True if the target is little endian.
 
bool isStackGrowthDirectionUp () const
 True if target stack grow up.
 
bool hasSubsectionsViaSymbols () const
 
const chargetData8bitsDirective () const
 
const chargetData16bitsDirective () const
 
const chargetData32bitsDirective () const
 
const chargetData64bitsDirective () const
 
bool supportsSignedData () 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.
 
virtual const MCExprgetExprForPersonalitySymbol (const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const
 
virtual const MCExprgetExprForFDESymbol (const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const
 
virtual bool isAcceptableChar (char C) const
 Return true if C is an acceptable character inside a symbol name.
 
virtual bool isValidUnquotedName (StringRef Name) const
 Return true if the identifier Name does not need quotes to be syntactically correct.
 
virtual void printSwitchToSection (const MCSection &, uint32_t Subsection, const Triple &, raw_ostream &) const
 
virtual bool shouldOmitSectionDirective (StringRef SectionName) const
 Return true if the .section directive should be omitted when emitting SectionName.
 
virtual bool useCodeAlign (const MCSection &Sec) const
 
bool usesSunStyleELFSectionSwitchSyntax () const
 
bool usesELFSectionDirectiveForBSS () const
 
bool needsDwarfSectionOffsetDirective () const
 
bool isAIX () const
 
bool isHLASM () const
 
bool isMachO () const
 
bool hasCOFFAssociativeComdats () const
 
bool hasCOFFComdatConstants () const
 
virtual unsigned getMaxInstLength (const MCSubtargetInfo *STI=nullptr) const
 Returns the maximum possible encoded instruction size in bytes.
 
unsigned getMinInstAlignment () const
 
bool getDollarIsPC () const
 
const chargetSeparatorString () const
 
unsigned getCommentColumn () const
 
void setCommentColumn (unsigned Col)
 
StringRef getCommentString () const
 
bool shouldAllowAdditionalComments () const
 
const chargetLabelSuffix () const
 
bool usesSetToEquateSymbol () const
 
bool useAssignmentForEHBegin () const
 
bool needsLocalForSize () const
 
StringRef getPrivateGlobalPrefix () const
 
StringRef getPrivateLabelPrefix () const
 
bool hasLinkerPrivateGlobalPrefix () const
 
StringRef getLinkerPrivateGlobalPrefix () const
 
const chargetInlineAsmStart () const
 
const chargetInlineAsmEnd () const
 
unsigned getAssemblerDialect () const
 
bool doesAllowAtInName () const
 
void setAllowAtInName (bool V)
 
bool doesAllowQuestionAtStartOfIdentifier () const
 
bool doesAllowAtAtStartOfIdentifier () const
 
bool doesAllowDollarAtStartOfIdentifier () const
 
bool supportsNameQuoting () const
 
bool doesSupportDataRegionDirectives () const
 
bool hasLEB128Directives () const
 
bool useFullRegisterNames () const
 
void setFullRegisterNames (bool V)
 
const chargetZeroDirective () const
 
const chargetAsciiDirective () const
 
const chargetAscizDirective () const
 
AsmCharLiteralSyntax characterLiteralSyntax () const
 
bool getAlignmentIsInBytes () const
 
unsigned getTextAlignFillValue () const
 
const chargetGlobalDirective () const
 
bool doesSetDirectiveSuppressReloc () const
 
bool getCOMMDirectiveAlignmentIsInBytes () const
 
LCOMM::LCOMMType getLCOMMDirectiveAlignmentType () const
 
bool hasFunctionAlignment () const
 
bool hasDotTypeDotSizeDirective () const
 
bool hasSingleParameterDotFile () const
 
bool hasIdentDirective () const
 
bool hasNoDeadStrip () const
 
const chargetWeakDirective () const
 
const chargetWeakRefDirective () const
 
bool hasWeakDefCanBeHiddenDirective () const
 
bool avoidWeakIfComdat () const
 
MCSymbolAttr getHiddenVisibilityAttr () const
 
MCSymbolAttr getExportedVisibilityAttr () const
 
MCSymbolAttr getHiddenDeclarationVisibilityAttr () const
 
MCSymbolAttr getProtectedVisibilityAttr () const
 
bool doesSupportDebugInformation () const
 
ExceptionHandling getExceptionHandlingType () const
 
WinEH::EncodingType getWinEHEncodingType () const
 
void setExceptionsType (ExceptionHandling EH)
 
bool usesCFIWithoutEH () const
 
bool usesCFIForEH () const
 Returns true if the exception handling method for the platform uses call frame information to unwind.
 
bool usesWindowsCFI () const
 
bool doesDwarfUseRelocationsAcrossSections () const
 
bool doDwarfFDESymbolsUseAbsDiff () const
 
bool useDwarfRegNumForCFI () const
 
bool useAtForSpecifier () const
 
bool useParensForSpecifier () const
 
bool supportsExtendedDwarfLocDirective () const
 
bool usesDwarfFileAndLocDirectives () const
 
bool enableDwarfFileDirectoryDefault () const
 
void addInitialFrameState (const MCCFIInstruction &Inst)
 
const std::vector< MCCFIInstruction > & getInitialFrameState () const
 
void setBinutilsVersion (std::pair< int, int > Value)
 
bool useIntegratedAssembler () const
 Return true if assembly (inline or otherwise) should be parsed.
 
bool parseInlineAsmUsingAsmParser () const
 Return true if target want to use AsmParser to parse inlineasm.
 
bool binutilsIsAtLeast (int Major, int Minor) const
 
virtual void setUseIntegratedAssembler (bool Value)
 Set whether assembly (inline or otherwise) should be parsed.
 
virtual void setParseInlineAsmUsingAsmParser (bool Value)
 Set whether target want to use AsmParser to parse inlineasm.
 
bool preserveAsmComments () const
 Return true if assembly (inline or otherwise) should be parsed.
 
virtual void setPreserveAsmComments (bool Value)
 Set whether assembly (inline or otherwise) should be parsed.
 
bool shouldUseLogicalShr () const
 
bool shouldUseMotorolaIntegers () const
 
StringRef getSpecifierName (uint32_t S) const
 
std::optional< uint32_tgetSpecifierForName (StringRef Name) const
 
void printExpr (raw_ostream &, const MCExpr &) const
 
virtual void printSpecifierExpr (raw_ostream &, const MCSpecifierExpr &) const
 
virtual bool evaluateAsRelocatableImpl (const MCSpecifierExpr &, MCValue &Res, const MCAssembler *Asm) const
 

Protected Member Functions

void initializeAtSpecifiers (ArrayRef< AtSpecifier >)
 

Protected Attributes

unsigned CodePointerSize = 4
 Code pointer size in bytes. Default is 4.
 
unsigned CalleeSaveStackSlotSize = 4
 Size of the stack slot reserved for callee-saved registers, in bytes.
 
bool IsLittleEndian = true
 True if target is little endian. Default is true.
 
bool StackGrowsUp = false
 True if target stack grow up. Default is false.
 
bool HasSubsectionsViaSymbols = false
 True if this target has the MachO .subsections_via_symbols directive.
 
bool HasCOFFAssociativeComdats = false
 True if this is a non-GNU COFF target.
 
bool HasCOFFComdatConstants = false
 True if this is a non-GNU COFF target.
 
bool IsAIX = false
 
bool IsHLASM = false
 
unsigned MaxInstLength = 4
 This is the maximum possible length of an instruction, which is needed to compute the size of an inline asm.
 
unsigned MinInstAlignment = 1
 Every possible instruction length is a multiple of this value.
 
bool DollarIsPC = false
 The '$' token, when not referencing an identifier or constant, refers to the current PC.
 
const charSeparatorString
 This string, if specified, is used to separate instructions from each other when on the same line.
 
StringRef CommentString
 This indicates the comment string used by the assembler.
 
bool AllowAdditionalComments = true
 This indicates whether to allow additional "comment strings" to be lexed as a comment.
 
const charLabelSuffix
 This is appended to emitted labels. Defaults to ":".
 
bool UsesSetToEquateSymbol = false
 Use .set instead of = to equate a symbol to an expression.
 
bool UseAssignmentForEHBegin = false
 
bool NeedsLocalForSize = false
 
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.
 
StringRef PrivateLabelPrefix
 This prefix is used for labels for basic blocks.
 
StringRef LinkerPrivateGlobalPrefix
 This prefix is used for symbols that should be passed through the assembler but be removed by the linker.
 
const charInlineAsmStart
 If these are nonempty, they contain a directive to emit before and after an inline assembly statement.
 
const charInlineAsmEnd
 
unsigned AssemblerDialect = 0
 Which dialect of an assembler variant to use. Defaults to 0.
 
bool AllowAtInName = false
 This is true if the assembler allows @ characters in symbol names.
 
bool AllowQuestionAtStartOfIdentifier = false
 This is true if the assembler allows the "?" character at the start of of a string to be lexed as an AsmToken::Identifier.
 
bool AllowDollarAtStartOfIdentifier = false
 This is true if the assembler allows the "$" character at the start of of a string to be lexed as an AsmToken::Identifier.
 
bool AllowAtAtStartOfIdentifier = false
 This is true if the assembler allows the "@" character at the start of a string to be lexed as an AsmToken::Identifier.
 
bool SupportsQuotedNames = true
 If this is true, symbol names with invalid characters will be printed in quotes.
 
bool UseDataRegionDirectives = false
 This is true if data region markers should be printed as ".data_region/.end_data_region" directives.
 
bool HasLEB128Directives = true
 True if the target supports LEB128 directives.
 
bool PPCUseFullRegisterNames = false
 True if full register names are printed.
 
const charZeroDirective
 This should be set to the directive used to get some number of zero (and non-zero if supported by the directive) bytes emitted to the current section.
 
const charAsciiDirective
 This directive allows emission of an ascii string with the standard C escape characters embedded into it.
 
const charAscizDirective
 If not null, this allows for special handling of zero terminated strings on this target.
 
AsmCharLiteralSyntax CharacterLiteralSyntax = ACLS_Unknown
 Form used for character literals in the assembly syntax.
 
const charData8bitsDirective
 These directives are used to output some unit of integer data to the current section.
 
const charData16bitsDirective
 
const charData32bitsDirective
 
const charData64bitsDirective
 
bool SupportsSignedData = true
 True if data directives support signed values.
 
bool SunStyleELFSectionSwitchSyntax = false
 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.
 
bool UsesELFSectionDirectiveForBSS = false
 This is true if this target uses ELF '.section' directive before the '.bss' one.
 
bool NeedsDwarfSectionOffsetDirective = false
 
bool AlignmentIsInBytes = true
 If this is true (the default) then the asmprinter emits ".align N" directives, where N is the number of bytes to align to.
 
unsigned TextAlignFillValue = 0
 If non-zero, this is used to fill the executable space created as the result of a alignment directive.
 
const charGlobalDirective
 This is the directive used to declare a global entity.
 
bool SetDirectiveSuppressesReloc = false
 True if the expression .long f - g uses a relocation but it can be suppressed by writing a = f - g .long a.
 
bool COMMDirectiveAlignmentIsInBytes = true
 True is .comm's and .lcomms optional alignment is to be specified in bytes instead of log2(n).
 
LCOMM::LCOMMType LCOMMDirectiveAlignmentType = LCOMM::NoAlignment
 Describes if the .lcomm directive for the target supports an alignment argument and how it is interpreted.
 
bool HasFunctionAlignment = true
 
bool HasDotTypeDotSizeDirective = true
 True if the target has .type and .size directives, this is true for most ELF targets.
 
bool HasSingleParameterDotFile = true
 True if the target has a single parameter .file directive, this is true for ELF targets.
 
bool HasIdentDirective = false
 True if the target has a .ident directive, this is true for ELF targets.
 
bool HasNoDeadStrip = false
 True if this target supports the MachO .no_dead_strip directive.
 
const charWeakDirective
 Used to declare a global as being a weak symbol. Defaults to ".weak".
 
const charWeakRefDirective = nullptr
 This directive, if non-null, is used to declare a global as being a weak undefined symbol.
 
bool HasWeakDefCanBeHiddenDirective = false
 True if we have a directive to declare a global as being a weak defined symbol that can be hidden (unexported).
 
bool AvoidWeakIfComdat = false
 True if we should mark symbols as global instead of weak, for weak*‍/linkonce*, if the symbol has a comdat.
 
MCSymbolAttr HiddenVisibilityAttr = MCSA_Hidden
 This attribute, if not MCSA_Invalid, is used to declare a symbol as having hidden visibility.
 
MCSymbolAttr ExportedVisibilityAttr = MCSA_Exported
 This attribute, if not MCSA_Invalid, is used to declare a symbol as having exported visibility.
 
MCSymbolAttr HiddenDeclarationVisibilityAttr = MCSA_Hidden
 This attribute, if not MCSA_Invalid, is used to declare an undefined symbol as having hidden visibility.
 
MCSymbolAttr ProtectedVisibilityAttr = MCSA_Protected
 This attribute, if not MCSA_Invalid, is used to declare a symbol as having protected visibility.
 
bool SupportsDebugInformation = false
 True if target supports emission of debugging information.
 
ExceptionHandling ExceptionsType = ExceptionHandling::None
 Exception handling format for the target. Defaults to None.
 
bool UsesCFIWithoutEH = false
 True if target uses CFI unwind information for other purposes than EH (debugging / sanitizers) when ExceptionsType == ExceptionHandling::None.
 
WinEH::EncodingType WinEHEncodingType = WinEH::EncodingType::Invalid
 Windows exception handling data (.pdata) encoding. Defaults to Invalid.
 
bool DwarfUsesRelocationsAcrossSections = true
 True if Dwarf2 output generally uses relocations for references to other .debug_* sections.
 
bool DwarfFDESymbolsUseAbsDiff = false
 True if DWARF FDE symbol reference relocations should be replaced by an absolute difference.
 
bool EnableDwarfFileDirectoryDefault = true
 True if DWARF ‘.file directory’ directive syntax is used by default.
 
bool DwarfRegNumForCFI = false
 True if dwarf register numbers are printed instead of symbolic register names in .cfi_* directives.
 
bool UseAtForSpecifier = true
 True if target uses @ (expr@specifier) for relocation specifiers.
 
bool UseParensForSpecifier = false
 (ARM-specific) Uses parens for relocation specifier in data directives, e.g.
 
bool SupportsExtendedDwarfLocDirective = true
 True if the target supports flags in ".loc" directive, false if only location is allowed.
 
std::vector< MCCFIInstructionInitialFrameState
 
std::pair< int, int > BinutilsVersion = {2, 26}
 
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.
 
bool ParseInlineAsmUsingAsmParser
 Use AsmParser to parse inlineAsm when UseIntegratedAssembler is not set.
 
bool PreserveAsmComments
 Preserve Comments in assembly.
 
unsigned CommentColumn = 40
 The column (zero-based) at which asm comments should be printed.
 
bool UseLogicalShr = true
 True if the integrated assembler should interpret 'a >> b' constant expressions as logical rather than arithmetic.
 
bool UseMotorolaIntegers = false
 
llvm::DenseMap< uint32_t, StringRefAtSpecifierToName
 
llvm::StringMap< uint32_tNameToAtSpecifier
 

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 64 of file MCAsmInfo.h.

Member Enumeration Documentation

◆ AsmCharLiteralSyntax

Assembly character literal syntax types.

Enumerator
ACLS_Unknown 
ACLS_SingleQuotePrefix 

Unknown; character literals not used by LLVM for this target.

Definition at line 67 of file MCAsmInfo.h.

Constructor & Destructor Documentation

◆ MCAsmInfo() [1/2]

MCAsmInfo::MCAsmInfo ( )
explicit

◆ ~MCAsmInfo()

MCAsmInfo::~MCAsmInfo ( )
virtualdefault

◆ MCAsmInfo() [2/2]

llvm::MCAsmInfo::MCAsmInfo ( MCAsmInfo const )
delete

Member Function Documentation

◆ addInitialFrameState()

void MCAsmInfo::addInitialFrameState ( const MCCFIInstruction Inst)

◆ avoidWeakIfComdat()

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

Definition at line 617 of file MCAsmInfo.h.

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

◆ binutilsIsAtLeast()

bool llvm::MCAsmInfo::binutilsIsAtLeast ( int  Major,
int  Minor 
) const
inline

◆ characterLiteralSyntax()

AsmCharLiteralSyntax llvm::MCAsmInfo::characterLiteralSyntax ( ) const
inline

Definition at line 586 of file MCAsmInfo.h.

◆ doDwarfFDESymbolsUseAbsDiff()

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

Definition at line 662 of file MCAsmInfo.h.

Referenced by emitFDESymbol().

◆ doesAllowAtAtStartOfIdentifier()

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

Definition at line 566 of file MCAsmInfo.h.

◆ doesAllowAtInName()

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

Definition at line 561 of file MCAsmInfo.h.

Referenced by isAcceptableChar().

◆ doesAllowDollarAtStartOfIdentifier()

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

Definition at line 569 of file MCAsmInfo.h.

◆ doesAllowQuestionAtStartOfIdentifier()

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

Definition at line 563 of file MCAsmInfo.h.

◆ doesDwarfUseRelocationsAcrossSections()

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

◆ doesSetDirectiveSuppressReloc()

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

◆ doesSupportDataRegionDirectives()

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

Definition at line 574 of file MCAsmInfo.h.

◆ doesSupportDebugInformation()

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

Definition at line 631 of file MCAsmInfo.h.

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

◆ enableDwarfFileDirectoryDefault()

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

Definition at line 672 of file MCAsmInfo.h.

◆ evaluateAsRelocatableImpl()

bool MCAsmInfo::evaluateAsRelocatableImpl ( const MCSpecifierExpr E,
MCValue Res,
const MCAssembler Asm 
) const
virtual

◆ getAlignmentIsInBytes()

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

Definition at line 589 of file MCAsmInfo.h.

◆ getAsciiDirective()

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

Definition at line 584 of file MCAsmInfo.h.

◆ getAscizDirective()

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

Definition at line 585 of file MCAsmInfo.h.

◆ getAssemblerDialect()

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

◆ getCalleeSaveStackSlotSize()

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

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

Definition at line 447 of file MCAsmInfo.h.

Referenced by getDataAlignmentFactor().

◆ getCodePointerSize()

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

◆ getCOMMDirectiveAlignmentIsInBytes()

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

Definition at line 597 of file MCAsmInfo.h.

◆ getCommentColumn()

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

Definition at line 535 of file MCAsmInfo.h.

Referenced by emitComments().

◆ getCommentString()

StringRef llvm::MCAsmInfo::getCommentString ( ) const
inline

◆ getData16bitsDirective()

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

Definition at line 462 of file MCAsmInfo.h.

◆ getData32bitsDirective()

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

Definition at line 463 of file MCAsmInfo.h.

◆ getData64bitsDirective()

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

Definition at line 464 of file MCAsmInfo.h.

◆ getData8bitsDirective()

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

◆ getDollarIsPC()

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

Definition at line 532 of file MCAsmInfo.h.

◆ getExceptionHandlingType()

ExceptionHandling llvm::MCAsmInfo::getExceptionHandlingType ( ) const
inline

◆ getExportedVisibilityAttr()

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

Definition at line 621 of file MCAsmInfo.h.

◆ getExprForFDESymbol()

const MCExpr * MCAsmInfo::getExprForFDESymbol ( const MCSymbol Sym,
unsigned  Encoding,
MCStreamer Streamer 
) const
virtual

◆ getExprForPersonalitySymbol()

const MCExpr * MCAsmInfo::getExprForPersonalitySymbol ( const MCSymbol Sym,
unsigned  Encoding,
MCStreamer Streamer 
) const
virtual

◆ getGlobalDirective()

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

Definition at line 591 of file MCAsmInfo.h.

◆ getHiddenDeclarationVisibilityAttr()

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

Definition at line 623 of file MCAsmInfo.h.

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

◆ getHiddenVisibilityAttr()

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

Definition at line 619 of file MCAsmInfo.h.

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

◆ getInitialFrameState()

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

Definition at line 678 of file MCAsmInfo.h.

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

◆ getInlineAsmEnd()

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

Definition at line 559 of file MCAsmInfo.h.

◆ getInlineAsmStart()

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

Definition at line 558 of file MCAsmInfo.h.

◆ getLabelSuffix()

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

Definition at line 540 of file MCAsmInfo.h.

◆ getLCOMMDirectiveAlignmentType()

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

Definition at line 601 of file MCAsmInfo.h.

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

◆ getLinkerPrivateGlobalPrefix()

StringRef llvm::MCAsmInfo::getLinkerPrivateGlobalPrefix ( ) const
inline

Definition at line 552 of file MCAsmInfo.h.

Referenced by llvm::MCContext::createLinkerPrivateSymbol().

◆ getMaxInstLength()

virtual unsigned llvm::MCAsmInfo::getMaxInstLength ( const MCSubtargetInfo STI = nullptr) const
inlinevirtual

Returns the maximum possible encoded instruction size in bytes.

If STI is null, this should be the maximum size for any subtarget.

Reimplemented in llvm::AMDGPUMCAsmInfo.

Definition at line 527 of file MCAsmInfo.h.

Referenced by llvm::TargetInstrInfo::getInlineAsmLength(), and llvm::HexagonInstrInfo::getInlineAsmLength().

◆ getMinInstAlignment()

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

Definition at line 531 of file MCAsmInfo.h.

Referenced by llvm::MCDwarfLineTableHeader::Emit().

◆ getNonexecutableStackSection()

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 470 of file MCAsmInfo.h.

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

◆ getPrivateGlobalPrefix()

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

◆ getPrivateLabelPrefix()

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

Definition at line 546 of file MCAsmInfo.h.

Referenced by llvm::MCContext::createBlockSymbol().

◆ getProtectedVisibilityAttr()

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

Definition at line 627 of file MCAsmInfo.h.

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

◆ getSeparatorString()

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

◆ getSpecifierForName()

std::optional< uint32_t > MCAsmInfo::getSpecifierForName ( StringRef  Name) const

◆ getSpecifierName()

StringRef MCAsmInfo::getSpecifierName ( uint32_t  S) const

◆ getTextAlignFillValue()

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

Definition at line 590 of file MCAsmInfo.h.

Referenced by llvm::SystemZHLASMAsmStreamer::emitCodeAlignment().

◆ getWeakDirective()

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

Definition at line 610 of file MCAsmInfo.h.

◆ getWeakRefDirective()

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

◆ getWinEHEncodingType()

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

Definition at line 634 of file MCAsmInfo.h.

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

◆ getZeroDirective()

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

Definition at line 583 of file MCAsmInfo.h.

◆ hasCOFFAssociativeComdats()

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

Definition at line 522 of file MCAsmInfo.h.

◆ hasCOFFComdatConstants()

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

Definition at line 523 of file MCAsmInfo.h.

◆ hasDotTypeDotSizeDirective()

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

◆ hasFunctionAlignment()

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

Definition at line 605 of file MCAsmInfo.h.

◆ hasIdentDirective()

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

Definition at line 608 of file MCAsmInfo.h.

◆ hasLEB128Directives()

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

Definition at line 578 of file MCAsmInfo.h.

Referenced by llvm::EHStreamer::emitExceptionTable().

◆ hasLinkerPrivateGlobalPrefix()

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

Definition at line 548 of file MCAsmInfo.h.

References llvm::StringRef::empty().

◆ hasNoDeadStrip()

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

Definition at line 609 of file MCAsmInfo.h.

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

◆ hasSingleParameterDotFile()

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

Definition at line 607 of file MCAsmInfo.h.

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

◆ hasSubsectionsViaSymbols()

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

◆ hasWeakDefCanBeHiddenDirective()

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

Definition at line 613 of file MCAsmInfo.h.

Referenced by canBeHidden().

◆ initializeAtSpecifiers()

void MCAsmInfo::initializeAtSpecifiers ( ArrayRef< AtSpecifier Descs)
protected

◆ isAcceptableChar()

bool MCAsmInfo::isAcceptableChar ( char  C) const
virtual

Return true if C is an acceptable character inside a symbol name.

Reimplemented in llvm::MCAsmInfoXCOFF, and llvm::SystemZMCAsmInfoGOFF.

Definition at line 100 of file MCAsmInfo.cpp.

References llvm::CallingConv::C, and doesAllowAtInName().

Referenced by llvm::SystemZMCAsmInfoGOFF::isAcceptableChar(), and isValidUnquotedName().

◆ isAIX()

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

◆ isHLASM()

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

Definition at line 520 of file MCAsmInfo.h.

Referenced by EmitInlineAsmStr().

◆ isLittleEndian()

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

True if the target is little endian.

Definition at line 452 of file MCAsmInfo.h.

Referenced by llvm::ARMTargetStreamer::emitInst(), and llvm::MCStreamer::emitIntValue().

◆ isMachO()

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

◆ isStackGrowthDirectionUp()

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

True if target stack grow up.

Definition at line 455 of file MCAsmInfo.h.

Referenced by getDataAlignmentFactor().

◆ isValidUnquotedName()

bool MCAsmInfo::isValidUnquotedName ( StringRef  Name) const
virtual

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

Definition at line 107 of file MCAsmInfo.cpp.

References llvm::CallingConv::C, isAcceptableChar(), and Name.

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

◆ needsDwarfSectionOffsetDirective()

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

◆ needsLocalForSize()

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

Definition at line 544 of file MCAsmInfo.h.

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

◆ operator=()

MCAsmInfo & llvm::MCAsmInfo::operator= ( MCAsmInfo const )
delete

◆ parseInlineAsmUsingAsmParser()

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

Return true if target want to use AsmParser to parse inlineasm.

Definition at line 690 of file MCAsmInfo.h.

◆ preserveAsmComments()

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

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

Definition at line 709 of file MCAsmInfo.h.

◆ printExpr()

void MCAsmInfo::printExpr ( raw_ostream OS,
const MCExpr Expr 
) const

Definition at line 153 of file MCAsmInfo.cpp.

References OS, and printSpecifierExpr().

Referenced by llvm::SystemZTargetHLASMStreamer::createWordDiffExpr(), llvm::SystemZHLASMAsmStreamer::emitHLASMValueImpl(), llvm::WebAssemblyTargetAsmStreamer::emitIndIdx(), llvm::MCTargetStreamer::emitValue(), llvm::DIEExpr::print(), XtensaOperand::print(), llvm::AArch64AuthMCExpr::print(), llvm::MCOperand::print(), llvm::AArch64InstPrinter::printAddSubImm(), llvm::AArch64InstPrinter::printAdrAdrpLabel(), llvm::ARMInstPrinter::printAdrLabelOperand(), llvm::AArch64InstPrinter::printAlignedLabel(), llvm::AMDGPU::printAMDGPUMCExpr(), llvm::AArch64InstPrinter::printAMIndexedWB(), llvm::LoongArchAsmPrinter::PrintAsmMemoryOperand(), llvm::HexagonInstPrinter::printBrtarget(), llvm::BPFInstPrinter::printBrTargetOperand(), llvm::CSKYInstPrinter::printConstpool(), llvm::SparcInstPrinter::printCTILabel(), llvm::CSKYInstPrinter::printDataSymbol(), llvm::X86InstPrinterCommon::printExprOperand(), llvm::X86ATTInstPrinter::printExprOperand(), llvm::LanaiInstPrinter::printHi16AndImmOperand(), llvm::LanaiInstPrinter::printHi16ImmOperand(), llvm::BPFInstPrinter::printImm64Operand(), printImpl(), llvm::AMDGPUMCExpr::printImpl(), llvm::HexagonMCExpr::printImpl(), llvm::NVPTXGenericMCSymbolRefExpr::printImpl(), llvm::AArch64InstPrinter::printInst(), llvm::R600InstPrinter::printLiteral(), llvm::LanaiInstPrinter::printLo16AndImmOperand(), llvm::LanaiInstPrinter::printMemImmOperand(), llvm::X86IntelInstPrinter::printMemOffset(), printMemoryImmediateOffset(), llvm::X86IntelInstPrinter::printMemReference(), llvm::SparcInstPrinter::printOperand(), llvm::VEInstPrinter::printOperand(), llvm::AArch64InstPrinter::printOperand(), llvm::ARMInstPrinter::printOperand(), llvm::CSKYInstPrinter::printOperand(), llvm::PPCInstPrinter::printOperand(), llvm::RISCVInstPrinter::printOperand(), llvm::R600InstPrinter::printOperand(), llvm::BPFInstPrinter::printOperand(), llvm::LanaiInstPrinter::printOperand(), llvm::NVPTXInstPrinter::printOperand(), llvm::SPIRVInstPrinter::printOperand(), llvm::X86IntelInstPrinter::printOperand(), llvm::WebAssemblyInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), printOperand(), llvm::SystemZInstPrinterCommon::printOperand(), llvm::HexagonInstPrinter::printOperand(), llvm::SystemZInstPrinterCommon::printPCRelOperand(), llvm::SystemZInstPrinterCommon::printSImmOperand(), llvm::ARM::printSpecifierExpr(), llvm::AArch64MCAsmInfoDarwin::printSpecifierExpr(), llvm::AArch64MCAsmInfoELF::printSpecifierExpr(), llvm::AArch64MCAsmInfoMicrosoftCOFF::printSpecifierExpr(), llvm::AArch64MCAsmInfoGNUCOFF::printSpecifierExpr(), llvm::AVRMCAsmInfo::printSpecifierExpr(), llvm::CSKYMCAsmInfo::printSpecifierExpr(), llvm::LanaiMCAsmInfo::printSpecifierExpr(), llvm::LoongArchMCAsmInfo::printSpecifierExpr(), llvm::PPCELFMCAsmInfo::printSpecifierExpr(), llvm::PPCXCOFFMCAsmInfo::printSpecifierExpr(), llvm::RISCVMCAsmInfo::printSpecifierExpr(), llvm::SparcELFMCAsmInfo::printSpecifierExpr(), llvm::SystemZMCAsmInfoGOFF::printSpecifierExpr(), llvm::VEELFMCAsmInfo::printSpecifierExpr(), llvm::XtensaMCAsmInfo::printSpecifierExpr(), llvm::ARMInstPrinter::printThumbLdrLabelOperand(), llvm::PPCInstPrinter::printTLSCall(), llvm::X86IntelInstPrinter::printU8Imm(), llvm::AArch64InstPrinter::printUImm12Offset(), and llvm::SystemZInstPrinterCommon::printUImmOperand().

◆ printSpecifierExpr()

virtual void llvm::MCAsmInfo::printSpecifierExpr ( raw_ostream ,
const MCSpecifierExpr  
) const
inlinevirtual

◆ printSwitchToSection()

virtual void llvm::MCAsmInfo::printSwitchToSection ( const MCSection ,
uint32_t  Subsection,
const Triple ,
raw_ostream  
) const
inlinevirtual

◆ setAllowAtInName()

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

Definition at line 562 of file MCAsmInfo.h.

◆ setBinutilsVersion()

void llvm::MCAsmInfo::setBinutilsVersion ( std::pair< int, int >  Value)
inline

Definition at line 682 of file MCAsmInfo.h.

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

◆ setCommentColumn()

void llvm::MCAsmInfo::setCommentColumn ( unsigned  Col)
inline

Definition at line 536 of file MCAsmInfo.h.

◆ setExceptionsType()

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

Definition at line 636 of file MCAsmInfo.h.

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

◆ setFullRegisterNames()

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

Definition at line 581 of file MCAsmInfo.h.

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

◆ setParseInlineAsmUsingAsmParser()

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

Set whether target want to use AsmParser to parse inlineasm.

Definition at line 704 of file MCAsmInfo.h.

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

◆ setPreserveAsmComments()

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

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

Definition at line 712 of file MCAsmInfo.h.

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

◆ setUseIntegratedAssembler()

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

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

Reimplemented in llvm::ARMELFMCAsmInfo.

Definition at line 699 of file MCAsmInfo.h.

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

◆ shouldAllowAdditionalComments()

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

Definition at line 539 of file MCAsmInfo.h.

◆ shouldOmitSectionDirective()

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, llvm::NVPTXMCAsmInfo, and llvm::SPIRVMCAsmInfo.

Definition at line 121 of file MCAsmInfo.cpp.

References usesELFSectionDirectiveForBSS().

Referenced by llvm::AMDGPUMCAsmInfo::shouldOmitSectionDirective().

◆ shouldUseLogicalShr()

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

Definition at line 717 of file MCAsmInfo.h.

◆ shouldUseMotorolaIntegers()

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

Definition at line 719 of file MCAsmInfo.h.

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

◆ supportsExtendedDwarfLocDirective()

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

Definition at line 666 of file MCAsmInfo.h.

◆ supportsNameQuoting()

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

Definition at line 572 of file MCAsmInfo.h.

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

◆ supportsSignedData()

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

Definition at line 465 of file MCAsmInfo.h.

◆ useAssignmentForEHBegin()

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

Definition at line 543 of file MCAsmInfo.h.

◆ useAtForSpecifier()

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

Definition at line 664 of file MCAsmInfo.h.

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

◆ useCodeAlign()

virtual bool llvm::MCAsmInfo::useCodeAlign ( const MCSection Sec) const
inlinevirtual

Reimplemented in llvm::MCAsmInfoDarwin, and llvm::MCAsmInfoXCOFF.

Definition at line 503 of file MCAsmInfo.h.

Referenced by llvm::MipsTargetELFStreamer::finish().

◆ useDwarfRegNumForCFI()

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

Definition at line 663 of file MCAsmInfo.h.

◆ useFullRegisterNames()

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

Definition at line 580 of file MCAsmInfo.h.

◆ useIntegratedAssembler()

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

◆ useParensForSpecifier()

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

Definition at line 665 of file MCAsmInfo.h.

◆ usesCFIForEH()

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 646 of file MCAsmInfo.h.

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

◆ usesCFIWithoutEH()

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

◆ usesDwarfFileAndLocDirectives()

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

Definition at line 670 of file MCAsmInfo.h.

◆ usesELFSectionDirectiveForBSS()

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

Definition at line 509 of file MCAsmInfo.h.

Referenced by shouldOmitSectionDirective().

◆ usesSetToEquateSymbol()

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

Definition at line 542 of file MCAsmInfo.h.

◆ usesSunStyleELFSectionSwitchSyntax()

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

Definition at line 505 of file MCAsmInfo.h.

◆ usesWindowsCFI()

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

Member Data Documentation

◆ AlignmentIsInBytes

bool llvm::MCAsmInfo::AlignmentIsInBytes = true
protected

◆ AllowAdditionalComments

bool llvm::MCAsmInfo::AllowAdditionalComments = true
protected

This indicates whether to allow additional "comment strings" to be lexed as a comment.

Setting this attribute to true, will ensure that C-style line comments (// ..), C-style block comments (/* .. *‍/), and "#" are all treated as comments in addition to the string specified by the CommentString attribute. Default is true.

Definition at line 143 of file MCAsmInfo.h.

Referenced by llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().

◆ AllowAtAtStartOfIdentifier

bool llvm::MCAsmInfo::AllowAtAtStartOfIdentifier = false
protected

This is true if the assembler allows the "@" character at the start of a string to be lexed as an AsmToken::Identifier.

If the AsmLexer determines that the string can be lexed as a possible comment, setting this option will have no effect, and the string will still be lexed as a comment.

Definition at line 203 of file MCAsmInfo.h.

Referenced by llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().

◆ AllowAtInName

bool llvm::MCAsmInfo::AllowAtInName = false
protected

◆ AllowDollarAtStartOfIdentifier

bool llvm::MCAsmInfo::AllowDollarAtStartOfIdentifier = false
protected

◆ AllowQuestionAtStartOfIdentifier

bool llvm::MCAsmInfo::AllowQuestionAtStartOfIdentifier = false
protected

This is true if the assembler allows the "?" character at the start of of a string to be lexed as an AsmToken::Identifier.

If the AsmLexer determines that the string can be lexed as a possible comment, setting this option will have no effect, and the string will still be lexed as a comment.

Definition at line 189 of file MCAsmInfo.h.

Referenced by llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().

◆ AsciiDirective

const char* llvm::MCAsmInfo::AsciiDirective
protected

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

If a target doesn't support this, it can be set to null. Defaults to "\t.ascii\t"

Definition at line 231 of file MCAsmInfo.h.

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

◆ AscizDirective

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 236 of file MCAsmInfo.h.

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

◆ AssemblerDialect

unsigned llvm::MCAsmInfo::AssemblerDialect = 0
protected

◆ AtSpecifierToName

llvm::DenseMap<uint32_t, StringRef> llvm::MCAsmInfo::AtSpecifierToName
protected

Definition at line 430 of file MCAsmInfo.h.

Referenced by getSpecifierName(), and initializeAtSpecifiers().

◆ AvoidWeakIfComdat

bool llvm::MCAsmInfo::AvoidWeakIfComdat = false
protected

True if we should mark symbols as global instead of weak, for weak*‍/linkonce*, if the symbol has a comdat.

Defaults to false.

Definition at line 334 of file MCAsmInfo.h.

Referenced by llvm::MCAsmInfoCOFF::MCAsmInfoCOFF().

◆ BinutilsVersion

std::pair<int, int> llvm::MCAsmInfo::BinutilsVersion = {2, 26}
protected

Definition at line 405 of file MCAsmInfo.h.

◆ CalleeSaveStackSlotSize

unsigned llvm::MCAsmInfo::CalleeSaveStackSlotSize = 4
protected

◆ CharacterLiteralSyntax

AsmCharLiteralSyntax llvm::MCAsmInfo::CharacterLiteralSyntax = ACLS_Unknown
protected

Form used for character literals in the assembly syntax.

Useful for producing strings as byte lists. If a target does not use or support this, it shall be set to ACLS_Unknown. Defaults to ACLS_Unknown.

Definition at line 241 of file MCAsmInfo.h.

Referenced by llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().

◆ CodePointerSize

unsigned llvm::MCAsmInfo::CodePointerSize = 4
protected

◆ COMMDirectiveAlignmentIsInBytes

bool llvm::MCAsmInfo::COMMDirectiveAlignmentIsInBytes = true
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 294 of file MCAsmInfo.h.

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

◆ CommentColumn

unsigned llvm::MCAsmInfo::CommentColumn = 40
protected

The column (zero-based) at which asm comments should be printed.

Definition at line 421 of file MCAsmInfo.h.

◆ CommentString

StringRef llvm::MCAsmInfo::CommentString
protected

◆ Data16bitsDirective

const char* llvm::MCAsmInfo::Data16bitsDirective
protected

◆ Data32bitsDirective

const char* llvm::MCAsmInfo::Data32bitsDirective
protected

◆ Data64bitsDirective

const char* llvm::MCAsmInfo::Data64bitsDirective
protected

◆ Data8bitsDirective

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 247 of file MCAsmInfo.h.

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

◆ DollarIsPC

bool llvm::MCAsmInfo::DollarIsPC = false
protected

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

Defaults to false.

Definition at line 127 of file MCAsmInfo.h.

Referenced by llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().

◆ DwarfFDESymbolsUseAbsDiff

bool llvm::MCAsmInfo::DwarfFDESymbolsUseAbsDiff = false
protected

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

Definition at line 374 of file MCAsmInfo.h.

Referenced by llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().

◆ DwarfRegNumForCFI

bool llvm::MCAsmInfo::DwarfRegNumForCFI = false
protected

◆ DwarfUsesRelocationsAcrossSections

bool llvm::MCAsmInfo::DwarfUsesRelocationsAcrossSections = true
protected

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

Definition at line 370 of file MCAsmInfo.h.

Referenced by llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::BPFMCAsmInfo::setDwarfUsesRelocationsAcrossSections().

◆ EnableDwarfFileDirectoryDefault

bool llvm::MCAsmInfo::EnableDwarfFileDirectoryDefault = true
protected

True if DWARF ‘.file directory’ directive syntax is used by default.

Definition at line 378 of file MCAsmInfo.h.

Referenced by llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

◆ ExceptionsType

ExceptionHandling llvm::MCAsmInfo::ExceptionsType = ExceptionHandling::None
protected

Exception handling format for the target. Defaults to None.

Definition at line 359 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), llvm::CSKYMCAsmInfo::CSKYMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsCOFFMCAsmInfo::MipsCOFFMCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft(), llvm::XCoreMCAsmInfo::XCoreMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().

◆ ExportedVisibilityAttr

MCSymbolAttr llvm::MCAsmInfo::ExportedVisibilityAttr = MCSA_Exported
protected

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

Defaults to MCSA_Exported.

Definition at line 342 of file MCAsmInfo.h.

◆ GlobalDirective

const char* llvm::MCAsmInfo::GlobalDirective
protected

This is the directive used to declare a global entity.

Defaults to ".globl".

Definition at line 283 of file MCAsmInfo.h.

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

◆ HasCOFFAssociativeComdats

bool llvm::MCAsmInfo::HasCOFFAssociativeComdats = false
protected

True if this is a non-GNU COFF target.

The COFF port of the GNU linker doesn't handle associative comdats in the way that we would like to use them.

Definition at line 106 of file MCAsmInfo.h.

Referenced by llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), and llvm::MCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF().

◆ HasCOFFComdatConstants

bool llvm::MCAsmInfo::HasCOFFComdatConstants = false
protected

True if this is a non-GNU COFF target.

For GNU targets, we don't generate constants into comdat sections.

Definition at line 110 of file MCAsmInfo.h.

Referenced by llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), and llvm::MCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF().

◆ HasDotTypeDotSizeDirective

bool llvm::MCAsmInfo::HasDotTypeDotSizeDirective = true
protected

◆ HasFunctionAlignment

bool llvm::MCAsmInfo::HasFunctionAlignment = true
protected

◆ HasIdentDirective

bool llvm::MCAsmInfo::HasIdentDirective = false
protected

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

Defaults to false.

Definition at line 314 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::MCAsmInfoELF::MCAsmInfoELF(), and llvm::MCAsmInfoWasm::MCAsmInfoWasm().

◆ HasLEB128Directives

bool llvm::MCAsmInfo::HasLEB128Directives = true
protected

True if the target supports LEB128 directives.

Definition at line 215 of file MCAsmInfo.h.

Referenced by MCAsmInfo(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().

◆ HasNoDeadStrip

bool llvm::MCAsmInfo::HasNoDeadStrip = false
protected

True if this target supports the MachO .no_dead_strip directive.

Defaults to false.

Definition at line 318 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::MCAsmInfoWasm::MCAsmInfoWasm().

◆ HasSingleParameterDotFile

bool llvm::MCAsmInfo::HasSingleParameterDotFile = true
protected

◆ HasSubsectionsViaSymbols

bool llvm::MCAsmInfo::HasSubsectionsViaSymbols = false
protected

True if this target has the MachO .subsections_via_symbols directive.

Default is false.

Definition at line 101 of file MCAsmInfo.h.

Referenced by llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

◆ HasWeakDefCanBeHiddenDirective

bool llvm::MCAsmInfo::HasWeakDefCanBeHiddenDirective = false
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 329 of file MCAsmInfo.h.

Referenced by llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().

◆ HiddenDeclarationVisibilityAttr

MCSymbolAttr llvm::MCAsmInfo::HiddenDeclarationVisibilityAttr = MCSA_Hidden
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 346 of file MCAsmInfo.h.

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

◆ HiddenVisibilityAttr

MCSymbolAttr llvm::MCAsmInfo::HiddenVisibilityAttr = MCSA_Hidden
protected

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

Defaults to MCSA_Hidden.

Definition at line 338 of file MCAsmInfo.h.

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

◆ InitialFrameState

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

Definition at line 397 of file MCAsmInfo.h.

Referenced by addInitialFrameState().

◆ InlineAsmEnd

const char* llvm::MCAsmInfo::InlineAsmEnd
protected

◆ InlineAsmStart

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 174 of file MCAsmInfo.h.

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

◆ IsAIX

bool llvm::MCAsmInfo::IsAIX = false
protected

Definition at line 112 of file MCAsmInfo.h.

Referenced by llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().

◆ IsHLASM

bool llvm::MCAsmInfo::IsHLASM = false
protected

Definition at line 115 of file MCAsmInfo.h.

Referenced by llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF().

◆ IsLittleEndian

bool llvm::MCAsmInfo::IsLittleEndian = true
protected

◆ LabelSuffix

const char* llvm::MCAsmInfo::LabelSuffix
protected

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

Definition at line 146 of file MCAsmInfo.h.

Referenced by MCAsmInfo().

◆ LCOMMDirectiveAlignmentType

LCOMM::LCOMMType llvm::MCAsmInfo::LCOMMDirectiveAlignmentType = LCOMM::NoAlignment
protected

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

Defaults to NoAlignment.

Definition at line 298 of file MCAsmInfo.h.

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

◆ LinkerPrivateGlobalPrefix

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 170 of file MCAsmInfo.h.

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

◆ MaxInstLength

unsigned llvm::MCAsmInfo::MaxInstLength = 4
protected

◆ MinInstAlignment

unsigned llvm::MCAsmInfo::MinInstAlignment = 1
protected

◆ NameToAtSpecifier

llvm::StringMap<uint32_t> llvm::MCAsmInfo::NameToAtSpecifier
protected

Definition at line 431 of file MCAsmInfo.h.

Referenced by getSpecifierForName(), and initializeAtSpecifiers().

◆ NeedsDwarfSectionOffsetDirective

bool llvm::MCAsmInfo::NeedsDwarfSectionOffsetDirective = false
protected

Definition at line 265 of file MCAsmInfo.h.

Referenced by llvm::MCAsmInfoCOFF::MCAsmInfoCOFF().

◆ NeedsLocalForSize

bool llvm::MCAsmInfo::NeedsLocalForSize = false
protected

Definition at line 155 of file MCAsmInfo.h.

Referenced by llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo().

◆ ParseInlineAsmUsingAsmParser

bool llvm::MCAsmInfo::ParseInlineAsmUsingAsmParser
protected

Use AsmParser to parse inlineAsm when UseIntegratedAssembler is not set.

Definition at line 415 of file MCAsmInfo.h.

Referenced by MCAsmInfo(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().

◆ PPCUseFullRegisterNames

bool llvm::MCAsmInfo::PPCUseFullRegisterNames = false
protected

True if full register names are printed.

Definition at line 218 of file MCAsmInfo.h.

Referenced by MCAsmInfo().

◆ PreserveAsmComments

bool llvm::MCAsmInfo::PreserveAsmComments
protected

Preserve Comments in assembly.

Definition at line 418 of file MCAsmInfo.h.

Referenced by MCAsmInfo().

◆ PrivateGlobalPrefix

StringRef llvm::MCAsmInfo::PrivateGlobalPrefix
protected

◆ PrivateLabelPrefix

StringRef llvm::MCAsmInfo::PrivateLabelPrefix
protected

◆ ProtectedVisibilityAttr

MCSymbolAttr llvm::MCAsmInfo::ProtectedVisibilityAttr = MCSA_Protected
protected

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

Defaults to MCSA_Protected

Definition at line 350 of file MCAsmInfo.h.

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

◆ SeparatorString

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 131 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), MCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().

◆ SetDirectiveSuppressesReloc

bool llvm::MCAsmInfo::SetDirectiveSuppressesReloc = false
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 290 of file MCAsmInfo.h.

Referenced by llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

◆ StackGrowsUp

bool llvm::MCAsmInfo::StackGrowsUp = false
protected

True if target stack grow up. Default is false.

Definition at line 97 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo().

◆ SunStyleELFSectionSwitchSyntax

bool llvm::MCAsmInfo::SunStyleELFSectionSwitchSyntax = false
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 258 of file MCAsmInfo.h.

◆ SupportsDebugInformation

bool llvm::MCAsmInfo::SupportsDebugInformation = false
protected

True if target supports emission of debugging information.

Defaults to false.

Definition at line 356 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), llvm::CSKYMCAsmInfo::CSKYMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::XCoreMCAsmInfo::XCoreMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().

◆ SupportsExtendedDwarfLocDirective

bool llvm::MCAsmInfo::SupportsExtendedDwarfLocDirective = true
protected

True if the target supports flags in ".loc" directive, false if only location is allowed.

Definition at line 393 of file MCAsmInfo.h.

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

◆ SupportsQuotedNames

bool llvm::MCAsmInfo::SupportsQuotedNames = true
protected

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

Definition at line 207 of file MCAsmInfo.h.

Referenced by llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

◆ SupportsSignedData

bool llvm::MCAsmInfo::SupportsSignedData = true
protected

True if data directives support signed values.

Definition at line 253 of file MCAsmInfo.h.

Referenced by llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

◆ TextAlignFillValue

unsigned llvm::MCAsmInfo::TextAlignFillValue = 0
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 277 of file MCAsmInfo.h.

◆ UseAssignmentForEHBegin

bool llvm::MCAsmInfo::UseAssignmentForEHBegin = false
protected

Definition at line 152 of file MCAsmInfo.h.

Referenced by llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo().

◆ UseAtForSpecifier

bool llvm::MCAsmInfo::UseAtForSpecifier = true
protected

◆ UseDataRegionDirectives

bool llvm::MCAsmInfo::UseDataRegionDirectives = false
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 212 of file MCAsmInfo.h.

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

◆ UseIntegratedAssembler

bool llvm::MCAsmInfo::UseIntegratedAssembler
protected

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.

It may then be overridden after construction (see CodeGenTargetMachineImpl::initAsmInfo()).

Definition at line 412 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::ARMELFMCAsmInfo::setUseIntegratedAssembler(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().

◆ UseLogicalShr

bool llvm::MCAsmInfo::UseLogicalShr = true
protected

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

Definition at line 425 of file MCAsmInfo.h.

Referenced by llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), and llvm::MCAsmInfoCOFF::MCAsmInfoCOFF().

◆ UseMotorolaIntegers

bool llvm::MCAsmInfo::UseMotorolaIntegers = false
protected

Definition at line 428 of file MCAsmInfo.h.

Referenced by llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo().

◆ UseParensForSpecifier

bool llvm::MCAsmInfo::UseParensForSpecifier = false
protected

(ARM-specific) Uses parens for relocation specifier in data directives, e.g.

.word foo(got).

Definition at line 389 of file MCAsmInfo.h.

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

◆ UsesCFIWithoutEH

bool llvm::MCAsmInfo::UsesCFIWithoutEH = false
protected

True if target uses CFI unwind information for other purposes than EH (debugging / sanitizers) when ExceptionsType == ExceptionHandling::None.

Definition at line 363 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo().

◆ UsesELFSectionDirectiveForBSS

bool llvm::MCAsmInfo::UsesELFSectionDirectiveForBSS = false
protected

◆ UsesSetToEquateSymbol

bool llvm::MCAsmInfo::UsesSetToEquateSymbol = false
protected

◆ WeakDirective

const char* llvm::MCAsmInfo::WeakDirective
protected

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

Definition at line 321 of file MCAsmInfo.h.

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

◆ WeakRefDirective

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

◆ WinEHEncodingType

WinEH::EncodingType llvm::MCAsmInfo::WinEHEncodingType = WinEH::EncodingType::Invalid
protected

◆ ZeroDirective

const char* llvm::MCAsmInfo::ZeroDirective
protected

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