LLVM: llvm::MCAsmInfo Class Reference (original) (raw)

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](MCAsmInfo%5F8h%5Fsource.html)"

Public Types
enum AsmCharLiteralSyntax { ACLS_Unknown, ACLS_SingleQuotePrefix }
Assembly character literal syntax types. More...
Public Member Functions
MCAsmInfo ()
virtual ~MCAsmInfo ()
MCAsmInfo (MCAsmInfo const &)=delete
MCAsmInfo & operator= (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 char * getData8bitsDirective () const
const char * getData16bitsDirective () const
const char * getData32bitsDirective () const
const char * getData64bitsDirective () const
bool supportsSignedData () const
virtual MCSection * getStackSection (MCContext &Ctx, bool Exec) const
Targets can implement this method to specify a section to switch to depending on whether the translation unit has any trampolines that require an executable stack.
virtual const MCExpr * getExprForPersonalitySymbol (const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const
virtual const MCExpr * getExprForFDESymbol (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 char * getSeparatorString () const
unsigned getCommentColumn () const
void setCommentColumn (unsigned Col)
StringRef getCommentString () const
bool shouldAllowAdditionalComments () const
const char * getLabelSuffix () const
bool usesSetToEquateSymbol () 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
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 char * getZeroDirective () const
const char * getAsciiDirective () const
const char * getAscizDirective () const
AsmCharLiteralSyntax characterLiteralSyntax () const
bool getAlignmentIsInBytes () const
unsigned getTextAlignFillValue () const
const char * getGlobalDirective () 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 char * getWeakDirective () const
const char * getWeakRefDirective () 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_t > getSpecifierForName (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 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 char * SeparatorString
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 char * LabelSuffix
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 char * InlineAsmStart
If these are nonempty, they contain a directive to emit before and after an inline assembly statement.
const char * InlineAsmEnd
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 char * ZeroDirective
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 char * AsciiDirective
This directive allows emission of an ascii string with the standard C escape characters embedded into it.
const char * AscizDirective
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 char * Data8bitsDirective
These directives are used to output some unit of integer data to the current section.
const char * Data16bitsDirective
const char * Data32bitsDirective
const char * Data64bitsDirective
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 char * GlobalDirective
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 char * WeakDirective
Used to declare a global as being a weak symbol. Defaults to ".weak".
const char * WeakRefDirective = 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< MCCFIInstruction > InitialFrameState
std::pair< int, int > BinutilsVersion = {2, 26}
bool UseIntegratedAssembler
Should we use the integrated assembler?
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, StringRef > AtSpecifierToName
llvm::StringMap< uint32_t > NameToAtSpecifier

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.

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.

MCAsmInfo::MCAsmInfo ( ) explicit

Definition at line 44 of file MCAsmInfo.cpp.

References AsciiDirective, AscizDirective, llvm:🆑:BOU_TRUE, llvm:🆑:BOU_UNSET, CommentString, Data16bitsDirective, Data32bitsDirective, Data64bitsDirective, Data8bitsDirective, llvm::Default, DwarfExtendedLoc, llvm::Enable, GlobalDirective, HasLEB128Directives, InlineAsmEnd, InlineAsmStart, LabelSuffix, LinkerPrivateGlobalPrefix, ParseInlineAsmUsingAsmParser, PPCUseFullRegisterNames, PreserveAsmComments, PrivateGlobalPrefix, PrivateLabelPrefix, SeparatorString, SupportsExtendedDwarfLocDirective, UseIntegratedAssembler, llvm::UseLEB128Directives, WeakDirective, and ZeroDirective.

Referenced by MCAsmInfo(), and operator=().

~MCAsmInfo()

MCAsmInfo::~MCAsmInfo ( ) virtualdefault

MCAsmInfo() [2/2]

addInitialFrameState()

Definition at line 74 of file MCAsmInfo.cpp.

References InitialFrameState.

Referenced by createAArch64MCAsmInfo(), createARCMCAsmInfo(), createARMMCAsmInfo(), createCSKYMCAsmInfo(), createHexagonMCAsmInfo(), createLoongArchMCAsmInfo(), createM68kMCAsmInfo(), createMipsMCAsmInfo(), createMSP430MCAsmInfo(), createPPCMCAsmInfo(), createRISCVMCAsmInfo(), createSparcMCAsmInfo(), createSparcV9MCAsmInfo(), createSystemZMCAsmInfo(), createVEMCAsmInfo(), createX86MCAsmInfo(), and createXCoreMCAsmInfo().

avoidWeakIfComdat()

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

binutilsIsAtLeast()

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

characterLiteralSyntax()

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

doDwarfFDESymbolsUseAbsDiff()

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

doesAllowAtAtStartOfIdentifier()

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

doesAllowAtInName()

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

doesAllowDollarAtStartOfIdentifier()

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

doesAllowQuestionAtStartOfIdentifier()

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

doesDwarfUseRelocationsAcrossSections()

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

doesSetDirectiveSuppressReloc()

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

doesSupportDataRegionDirectives()

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

doesSupportDebugInformation()

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

enableDwarfFileDirectoryDefault()

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

evaluateAsRelocatableImpl()

Reimplemented in llvm::AArch64MCAsmInfoDarwin, llvm::AArch64MCAsmInfoELF, llvm::AArch64MCAsmInfoGNUCOFF, llvm::AArch64MCAsmInfoMicrosoftCOFF, llvm::ARMCOFFMCAsmInfoGNU, llvm::ARMCOFFMCAsmInfoMicrosoft, llvm::ARMELFMCAsmInfo, llvm::ARMMCAsmInfoDarwin, llvm::AVRMCAsmInfo, llvm::MipsCOFFMCAsmInfo, llvm::MipsELFMCAsmInfo, llvm::PPCELFMCAsmInfo, llvm::PPCXCOFFMCAsmInfo, llvm::SystemZMCAsmInfoGOFF, and llvm::VEELFMCAsmInfo.

Definition at line 160 of file MCAsmInfo.cpp.

References llvm::MCValue::getSubSym(), and llvm::MCValue::setSpecifier().

getAlignmentIsInBytes()

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

getAsciiDirective()

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

getAscizDirective()

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

getAssemblerDialect()

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

getCalleeSaveStackSlotSize()

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

getCodePointerSize()

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

getCOMMDirectiveAlignmentIsInBytes()

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

getCommentColumn()

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

getCommentString()

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

getData16bitsDirective()

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

getData32bitsDirective()

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

getData64bitsDirective()

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

getData8bitsDirective()

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

getDollarIsPC()

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

getExceptionHandlingType()

getExportedVisibilityAttr()

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

getExprForFDESymbol()

getExprForPersonalitySymbol()

getGlobalDirective()

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

getHiddenDeclarationVisibilityAttr()

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

getHiddenVisibilityAttr()

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

getInitialFrameState()

getInlineAsmEnd()

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

getInlineAsmStart()

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

getLabelSuffix()

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

getLCOMMDirectiveAlignmentType()

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

getLinkerPrivateGlobalPrefix()

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

getMaxInstLength()

getMinInstAlignment()

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

getPrivateGlobalPrefix()

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

getPrivateLabelPrefix()

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

getProtectedVisibilityAttr()

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

getSeparatorString()

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

getSpecifierForName()

getSpecifierName()

getStackSection()

Targets can implement this method to specify a section to switch to depending on whether the translation unit has any trampolines that require an executable stack.

Reimplemented in llvm::BPFMCAsmInfo.

Definition at line 470 of file MCAsmInfo.h.

getTextAlignFillValue()

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

getWeakDirective()

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

getWeakRefDirective()

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

getWinEHEncodingType()

getZeroDirective()

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

hasCOFFAssociativeComdats()

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

hasCOFFComdatConstants()

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

hasDotTypeDotSizeDirective()

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

hasFunctionAlignment()

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

hasIdentDirective()

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

hasLEB128Directives()

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

hasLinkerPrivateGlobalPrefix()

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

hasNoDeadStrip()

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

hasSingleParameterDotFile()

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

hasSubsectionsViaSymbols()

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

hasWeakDefCanBeHiddenDirective()

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

initializeAtSpecifiers()

Definition at line 127 of file MCAsmInfo.cpp.

References assert(), AtSpecifierToName, and NameToAtSpecifier.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::CSKYMCAsmInfo::CSKYMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().

isAcceptableChar()

bool MCAsmInfo::isAcceptableChar ( char C) const virtual

isAIX()

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

isHLASM()

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

isLittleEndian()

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

isMachO()

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

isStackGrowthDirectionUp()

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

isValidUnquotedName()

bool MCAsmInfo::isValidUnquotedName ( StringRef Name) const virtual

needsDwarfSectionOffsetDirective()

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

needsLocalForSize()

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

operator=()

parseInlineAsmUsingAsmParser()

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

preserveAsmComments()

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

printExpr()

Definition at line 153 of file MCAsmInfo.cpp.

References llvm::dyn_cast(), and printSpecifierExpr().

Referenced by llvm::MipsTargetAsmStreamer::emitDTPRel32Value(), llvm::MipsTargetAsmStreamer::emitDTPRel64Value(), llvm::MipsTargetAsmStreamer::emitGPRel32Value(), llvm::MipsTargetAsmStreamer::emitGPRel64Value(), llvm::WebAssemblyTargetAsmStreamer::emitIndIdx(), llvm::MipsTargetAsmStreamer::emitTPRel32Value(), llvm::MipsTargetAsmStreamer::emitTPRel64Value(), llvm::AArch64AuthMCExpr::print(), llvm::DIEExpr::print(), XtensaOperand::print(), llvm::AMDGPU::printAMDGPUMCExpr(), llvm::AMDGPUMCExpr::printImpl(), llvm::HexagonMCExpr::printImpl(), llvm::NVPTXGenericMCSymbolRefExpr::printImpl(), printImpl(), printMemoryImmediateOffset(), printOperand(), llvm::AArch64MCAsmInfoDarwin::printSpecifierExpr(), llvm::AArch64MCAsmInfoELF::printSpecifierExpr(), llvm::AArch64MCAsmInfoGNUCOFF::printSpecifierExpr(), llvm::AArch64MCAsmInfoMicrosoftCOFF::printSpecifierExpr(), llvm::ARM::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(), and llvm::XtensaMCAsmInfo::printSpecifierExpr().

printSpecifierExpr()

Reimplemented in llvm::AArch64MCAsmInfoDarwin, llvm::AArch64MCAsmInfoELF, llvm::AArch64MCAsmInfoGNUCOFF, llvm::AArch64MCAsmInfoMicrosoftCOFF, llvm::ARMCOFFMCAsmInfoGNU, llvm::ARMCOFFMCAsmInfoMicrosoft, llvm::ARMELFMCAsmInfo, llvm::ARMMCAsmInfoDarwin, llvm::AVRMCAsmInfo, llvm::CSKYMCAsmInfo, llvm::LanaiMCAsmInfo, llvm::LoongArchMCAsmInfo, llvm::MipsCOFFMCAsmInfo, llvm::MipsELFMCAsmInfo, llvm::PPCELFMCAsmInfo, llvm::PPCXCOFFMCAsmInfo, llvm::RISCVMCAsmInfo, llvm::SparcELFMCAsmInfo, llvm::SystemZMCAsmInfoGOFF, llvm::VEELFMCAsmInfo, and llvm::XtensaMCAsmInfo.

Definition at line 725 of file MCAsmInfo.h.

References llvm_unreachable.

Referenced by printExpr().

printSwitchToSection()

setAllowAtInName()

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

setBinutilsVersion()

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

setCommentColumn()

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

setExceptionsType()

setFullRegisterNames()

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

setParseInlineAsmUsingAsmParser()

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

setPreserveAsmComments()

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

setUseIntegratedAssembler()

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

shouldAllowAdditionalComments()

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

shouldOmitSectionDirective()

bool MCAsmInfo::shouldOmitSectionDirective ( StringRef SectionName) const virtual

shouldUseLogicalShr()

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

shouldUseMotorolaIntegers()

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

supportsExtendedDwarfLocDirective()

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

supportsNameQuoting()

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

supportsSignedData()

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

useAssignmentForEHBegin()

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

useAtForSpecifier()

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

useCodeAlign()

useDwarfRegNumForCFI()

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

useFullRegisterNames()

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

useIntegratedAssembler()

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

useParensForSpecifier()

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

usesCFIForEH()

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

usesCFIWithoutEH()

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

usesDwarfFileAndLocDirectives()

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

usesELFSectionDirectiveForBSS()

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

usesSetToEquateSymbol()

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

usesSunStyleELFSectionSwitchSyntax()

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

usesWindowsCFI()

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

Definition at line 652 of file MCAsmInfo.h.

References ExceptionsType, llvm::WinEH::Invalid, llvm::WinEH, WinEHEncodingType, and llvm::WinEH::X86.

Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::canUseLEAForSPInEpilogue(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::emitEpilogue(), llvm::MCStreamer::emitWinCFIStartProc(), llvm::TargetFrameLowering::enableCFIFixup(), llvm::MCStreamer::EnsureValidWinFrameInfo(), ExpandMOVImmSExti8(), llvm::X86FrameLowering::getFrameIndexReference(), llvm::ARMSubtarget::getPushPopSplitVariation(), llvm::AArch64InstrInfo::isCandidateToMergeOrPair(), llvm::X86::isExtendedSwiftAsyncFrameSupported(), llvm::AArch64FunctionInfo::needsDwarfUnwindInfo(), llvm::AArch64FrameLowering::needsWinCFI(), needsWinCFI(), needsWinCFI(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), and usesCFIForEH().

AlignmentIsInBytes

bool llvm::MCAsmInfo::AlignmentIsInBytes = true protected

If this is true (the default) then the asmprinter emits ".align N" directives, where N is the number of bytes to align to.

Otherwise, it emits ".align log2(N)", e.g. 3 to align to an 8 byte boundary. Defaults to true.

Definition at line 273 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::CSKYMCAsmInfo::CSKYMCAsmInfo(), getAlignmentIsInBytes(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().

AllowAdditionalComments

bool llvm::MCAsmInfo::AllowAdditionalComments = true protected

AllowAtAtStartOfIdentifier

bool llvm::MCAsmInfo::AllowAtAtStartOfIdentifier = false protected

AllowAtInName

bool llvm::MCAsmInfo::AllowAtInName = false protected

AllowDollarAtStartOfIdentifier

bool llvm::MCAsmInfo::AllowDollarAtStartOfIdentifier = 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 196 of file MCAsmInfo.h.

Referenced by llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), doesAllowDollarAtStartOfIdentifier(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().

AllowQuestionAtStartOfIdentifier

bool llvm::MCAsmInfo::AllowQuestionAtStartOfIdentifier = false protected

AsciiDirective

AscizDirective

AssemblerDialect

unsigned llvm::MCAsmInfo::AssemblerDialect = 0 protected

AtSpecifierToName

AvoidWeakIfComdat

bool llvm::MCAsmInfo::AvoidWeakIfComdat = false protected

BinutilsVersion

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

CalleeSaveStackSlotSize

unsigned llvm::MCAsmInfo::CalleeSaveStackSlotSize = 4 protected

Size of the stack slot reserved for callee-saved registers, in bytes.

Default is same as pointer size.

Definition at line 91 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), getCalleeSaveStackSlotSize(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), 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(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().

CharacterLiteralSyntax

AsmCharLiteralSyntax llvm::MCAsmInfo::CharacterLiteralSyntax = ACLS_Unknown protected

CodePointerSize

unsigned llvm::MCAsmInfo::CodePointerSize = 4 protected

Code pointer size in bytes. Default is 4.

Definition at line 87 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), getCodePointerSize(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().

COMMDirectiveAlignmentIsInBytes

bool llvm::MCAsmInfo::COMMDirectiveAlignmentIsInBytes = true protected

CommentColumn

unsigned llvm::MCAsmInfo::CommentColumn = 40 protected

CommentString

This indicates the comment string used by the assembler.

Defaults to "#"

Definition at line 135 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::CSKYMCAsmInfo::CSKYMCAsmInfo(), getCommentString(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), MCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM(), llvm::XCoreMCAsmInfo::XCoreMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().

Data16bitsDirective

const char* llvm::MCAsmInfo::Data16bitsDirective protected

Definition at line 248 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), getData16bitsDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().

Data32bitsDirective

const char* llvm::MCAsmInfo::Data32bitsDirective protected

Definition at line 249 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), getData32bitsDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().

Data64bitsDirective

const char* llvm::MCAsmInfo::Data64bitsDirective protected

Definition at line 250 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), getData64bitsDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::XCoreMCAsmInfo::XCoreMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().

Data8bitsDirective

const char* llvm::MCAsmInfo::Data8bitsDirective protected

DollarIsPC

bool llvm::MCAsmInfo::DollarIsPC = false protected

DwarfFDESymbolsUseAbsDiff

bool llvm::MCAsmInfo::DwarfFDESymbolsUseAbsDiff = false protected

DwarfRegNumForCFI

bool llvm::MCAsmInfo::DwarfRegNumForCFI = false protected

DwarfUsesRelocationsAcrossSections

bool llvm::MCAsmInfo::DwarfUsesRelocationsAcrossSections = true protected

EnableDwarfFileDirectoryDefault

bool llvm::MCAsmInfo::EnableDwarfFileDirectoryDefault = true protected

ExceptionsType

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(), getExceptionHandlingType(), 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(), setExceptionsType(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), usesCFIForEH(), usesCFIWithoutEH(), usesWindowsCFI(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft(), llvm::XCoreMCAsmInfo::XCoreMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().

ExportedVisibilityAttr

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.

Referenced by getExportedVisibilityAttr().

GlobalDirective

HasCOFFAssociativeComdats

bool llvm::MCAsmInfo::HasCOFFAssociativeComdats = false protected

HasCOFFComdatConstants

bool llvm::MCAsmInfo::HasCOFFComdatConstants = false protected

HasDotTypeDotSizeDirective

bool llvm::MCAsmInfo::HasDotTypeDotSizeDirective = true protected

HasFunctionAlignment

bool llvm::MCAsmInfo::HasFunctionAlignment = true protected

HasIdentDirective

bool llvm::MCAsmInfo::HasIdentDirective = false protected

HasLEB128Directives

bool llvm::MCAsmInfo::HasLEB128Directives = true protected

HasNoDeadStrip

bool llvm::MCAsmInfo::HasNoDeadStrip = false protected

HasSingleParameterDotFile

bool llvm::MCAsmInfo::HasSingleParameterDotFile = true protected

HasSubsectionsViaSymbols

bool llvm::MCAsmInfo::HasSubsectionsViaSymbols = false protected

HasWeakDefCanBeHiddenDirective

bool llvm::MCAsmInfo::HasWeakDefCanBeHiddenDirective = false protected

HiddenDeclarationVisibilityAttr

HiddenVisibilityAttr

InitialFrameState

InlineAsmEnd

InlineAsmStart

IsAIX

bool llvm::MCAsmInfo::IsAIX = false protected

IsHLASM

bool llvm::MCAsmInfo::IsHLASM = false protected

IsLittleEndian

bool llvm::MCAsmInfo::IsLittleEndian = true protected

True if target is little endian. Default is true.

Definition at line 94 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), isLittleEndian(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), and llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF().

LabelSuffix

LCOMMDirectiveAlignmentType

LinkerPrivateGlobalPrefix

StringRef llvm::MCAsmInfo::LinkerPrivateGlobalPrefix protected

MaxInstLength

unsigned llvm::MCAsmInfo::MaxInstLength = 4 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 119 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::AMDGPUMCAsmInfo::getMaxInstLength(), getMaxInstLength(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), and llvm::VEELFMCAsmInfo::VEELFMCAsmInfo().

MinInstAlignment

unsigned llvm::MCAsmInfo::MinInstAlignment = 1 protected

NameToAtSpecifier

NeedsDwarfSectionOffsetDirective

bool llvm::MCAsmInfo::NeedsDwarfSectionOffsetDirective = false protected

NeedsLocalForSize

bool llvm::MCAsmInfo::NeedsLocalForSize = false protected

ParseInlineAsmUsingAsmParser

bool llvm::MCAsmInfo::ParseInlineAsmUsingAsmParser protected

PPCUseFullRegisterNames

bool llvm::MCAsmInfo::PPCUseFullRegisterNames = false protected

PreserveAsmComments

bool llvm::MCAsmInfo::PreserveAsmComments protected

PrivateGlobalPrefix

StringRef llvm::MCAsmInfo::PrivateGlobalPrefix protected

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.

Defaults to "L"

Definition at line 160 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), getPrivateGlobalPrefix(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoELF::MCAsmInfoELF(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MCAsmInfoWasm::MCAsmInfoWasm(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsCOFFMCAsmInfo::MipsCOFFMCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().

PrivateLabelPrefix

StringRef llvm::MCAsmInfo::PrivateLabelPrefix protected

This prefix is used for labels for basic blocks.

Defaults to the same as PrivateGlobalPrefix.

Definition at line 164 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), getPrivateLabelPrefix(), MCAsmInfo(), llvm::MCAsmInfoELF::MCAsmInfoELF(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MCAsmInfoWasm::MCAsmInfoWasm(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsCOFFMCAsmInfo::MipsCOFFMCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().

ProtectedVisibilityAttr

SeparatorString

SetDirectiveSuppressesReloc

bool llvm::MCAsmInfo::SetDirectiveSuppressesReloc = false protected

StackGrowsUp

bool llvm::MCAsmInfo::StackGrowsUp = false protected

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.

Referenced by usesSunStyleELFSectionSwitchSyntax().

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(), doesSupportDebugInformation(), 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

SupportsQuotedNames

bool llvm::MCAsmInfo::SupportsQuotedNames = true protected

SupportsSignedData

bool llvm::MCAsmInfo::SupportsSignedData = true protected

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.

Referenced by getTextAlignFillValue().

UseAssignmentForEHBegin

bool llvm::MCAsmInfo::UseAssignmentForEHBegin = false protected

UseAtForSpecifier

bool llvm::MCAsmInfo::UseAtForSpecifier = true protected

UseDataRegionDirectives

bool llvm::MCAsmInfo::UseDataRegionDirectives = false protected

UseIntegratedAssembler

bool llvm::MCAsmInfo::UseIntegratedAssembler protected

UseLogicalShr

bool llvm::MCAsmInfo::UseLogicalShr = true protected

UseMotorolaIntegers

bool llvm::MCAsmInfo::UseMotorolaIntegers = false protected

UseParensForSpecifier

bool llvm::MCAsmInfo::UseParensForSpecifier = false protected

UsesCFIWithoutEH

bool llvm::MCAsmInfo::UsesCFIWithoutEH = false protected

UsesELFSectionDirectiveForBSS

bool llvm::MCAsmInfo::UsesELFSectionDirectiveForBSS = false protected

This is true if this target uses ELF '.section' directive before the '.bss' one.

It's used for PPC/Linux which doesn't support the '.bss' directive only. Defaults to false.

Definition at line 263 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), llvm::CSKYMCAsmInfo::CSKYMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), usesELFSectionDirectiveForBSS(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().

UsesSetToEquateSymbol

bool llvm::MCAsmInfo::UsesSetToEquateSymbol = false protected

WeakDirective

WeakRefDirective

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

WinEHEncodingType

ZeroDirective

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.

Common cases are "\t.zero\t" and "\t.space\t". Defaults to "\t.zero\t"

Definition at line 226 of file MCAsmInfo.h.

Referenced by llvm::ARCMCAsmInfo::ARCMCAsmInfo(), getZeroDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::XCoreMCAsmInfo::XCoreMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().


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