class MCAsmInfo

Declaration

class MCAsmInfo { /* full declaration omitted */ };

Description

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:56

Member Variables

protected unsigned int CodePointerSize = 4
Code pointer size in bytes. Default is 4.
protected unsigned int CalleeSaveStackSlotSize = 4
Size of the stack slot reserved for callee-saved registers, in bytes. Default is same as pointer size.
protected bool IsLittleEndian = true
True if target is little endian. Default is true.
protected bool StackGrowsUp = false
True if target stack grow up. Default is false.
protected bool HasSubsectionsViaSymbols = false
True if this target has the MachO .subsections_via_symbols directive. Default is false.
protected bool HasMachoZeroFillDirective = false
True if this is a MachO target that supports the macho-specific .zerofill directive for emitting BSS Symbols. Default is false.
protected bool HasMachoTBSSDirective = false
True if this is a MachO target that supports the macho-specific .tbss directive for emitting thread local BSS Symbols. Default is false.
protected bool HasCOFFAssociativeComdats = false
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.
protected bool HasCOFFComdatConstants = false
True if this is a non-GNU COFF target. For GNU targets, we don't generate constants into comdat sections.
protected bool HasVisibilityOnlyWithLinkage = false
True if this is an XCOFF target that supports visibility attributes as part of .global, .weak, .extern, and .comm. Default is false.
protected unsigned int MaxInstLength = 4
This is the maximum possible length of an instruction, which is needed to compute the size of an inline asm. Defaults to 4.
protected unsigned int MinInstAlignment = 1
Every possible instruction length is a multiple of this value. Factored out in .debug_frame and .debug_line. Defaults to 1.
protected bool DollarIsPC = false
The '$' token, when not referencing an identifier or constant, refers to the current PC. Defaults to false.
protected bool DotIsPC = true
Allow '.' token, when not referencing an identifier or constant, to refer to the current PC. Defaults to true.
protected bool StarIsPC = false
Whether the '*' token refers to the current PC. This is used for the HLASM dialect.
protected const char* SeparatorString
This string, if specified, is used to separate instructions from each other when on the same line. Defaults to ';'
protected llvm::StringRef CommentString
This indicates the comment string used by the assembler. Defaults to "#"
protected bool RestrictCommentStringToStartOfStatement = false
This indicates whether the comment string is only accepted as a comment at the beginning of statements. Defaults to false.
protected bool AllowAdditionalComments = true
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.
protected bool EmitGNUAsmStartIndentationMarker = true
Should we emit the '\t' as the starting indentation marker for GNU inline asm statements. Defaults to true.
protected const char* LabelSuffix
This is appended to emitted labels. Defaults to ":"
protected bool EmitLabelsInUpperCase = false
Emit labels in purely upper case. Defaults to false.
protected bool UseAssignmentForEHBegin = false
protected bool NeedsLocalForSize = false
protected llvm::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. Defaults to "L"
protected llvm::StringRef PrivateLabelPrefix
This prefix is used for labels for basic blocks. Defaults to the same as PrivateGlobalPrefix.
protected llvm::StringRef LinkerPrivateGlobalPrefix
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 "".
protected const char* InlineAsmStart
If these are nonempty, they contain a directive to emit before and after an inline assembly statement. Defaults to "#APP\n", "#NO_APP\n"
protected const char* InlineAsmEnd
protected const char* Code16Directive
These are assembly directives that tells the assembler to interpret the following instructions differently. Defaults to ".code16", ".code32", ".code64".
protected const char* Code32Directive
protected const char* Code64Directive
protected unsigned int AssemblerDialect = 0
Which dialect of an assembler variant to use. Defaults to 0
protected bool AllowAtInName = false
This is true if the assembler allows @ characters in symbol names. Defaults to false.
protected 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. 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.
protected 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. 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.
protected 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. 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.
protected bool AllowHashAtStartOfIdentifier = false
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.
protected bool SupportsQuotedNames = true
If this is true, symbol names with invalid characters will be printed in quotes.
protected bool UseDataRegionDirectives = false
This is true if data region markers should be printed as ".data_region/.end_data_region" directives. If false, use "$d/$a" labels instead.
protected bool UseDotAlignForAlignment = false
True if .align is to be used for alignment. Only power-of-two alignment is supported.
protected bool HasLEB128Directives = true
True if the target supports LEB128 directives.
protected 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. Common cases are "\t.zero\t" and "\t.space\t". Defaults to "\t.zero\t"
protected bool ZeroDirectiveSupportsNonZeroValue = true
This should be set to true if the zero directive supports a value to emit other than zero. If this is set to false, the Data*bitsDirective's will be used to emit these bytes. Defaults to true.
protected const char* AsciiDirective
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"
protected const char* AscizDirective
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"
protected const char* ByteListDirective = nullptr
This directive accepts a comma-separated list of bytes for emission as a string of bytes. For targets that do not support this, it shall be set to null. Defaults to null.
protected const char* PlainStringDirective = nullptr
This directive allows emission of a zero-terminated ascii string without the standard C escape characters embedded into it. If a target doesn't support this, it can be set to null. Defaults to null.
protected llvm::MCAsmInfo::AsmCharLiteralSyntax CharacterLiteralSyntax = ACLS_Unknown
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.
protected const char* Data8bitsDirective
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"
protected const char* Data16bitsDirective
protected const char* Data32bitsDirective
protected const char* Data64bitsDirective
protected bool SupportsSignedData = true
True if data directives support signed values
protected const char* GPRel64Directive = nullptr
If non-null, a directive that is used to emit a word which should be relocated as a 64-bit GP-relative offset, e.g. .gpdword on Mips. Defaults to nullptr.
protected const char* GPRel32Directive = nullptr
If non-null, a directive that is used to emit a word which should be relocated as a 32-bit GP-relative offset, e.g. .gpword on Mips or .gprel32 on Alpha. Defaults to nullptr.
protected const char* DTPRel32Directive = nullptr
If non-null, directives that are used to emit a word/dword which should be relocated as a 32/64-bit DTP/TP-relative offset, e.g. .dtprelword/ .dtpreldword/.tprelword/.tpreldword on Mips.
protected const char* DTPRel64Directive = nullptr
protected const char* TPRel32Directive = nullptr
protected const char* TPRel64Directive = nullptr
protected 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. Defaults to false.
protected bool UsesELFSectionDirectiveForBSS = false
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.
protected bool NeedsDwarfSectionOffsetDirective = false
protected 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. Otherwise, it emits ".align log2(N)", e.g. 3 to align to an 8 byte boundary. Defaults to true.
protected unsigned int TextAlignFillValue = 0
If non-zero, this is used to fill the executable space created as the result of a alignment directive. Defaults to 0
protected const char* GlobalDirective
This is the directive used to declare a global entity. Defaults to ".globl".
protected 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
protected bool HasAggressiveSymbolFolding = true
Defaults to true.
protected bool COMMDirectiveAlignmentIsInBytes = true
True is .comm's and .lcomms optional alignment is to be specified in bytes instead of log2(n). Defaults to true.
protected LCOMM::LCOMMType LCOMMDirectiveAlignmentType = LCOMM::NoAlignment
Describes if the .lcomm directive for the target supports an alignment argument and how it is interpreted. Defaults to NoAlignment.
protected bool HasBasenameOnlyForFileDirective = true
True if the target only has basename for .file directive. False if the target also needs the directory along with the basename. Defaults to true.
protected bool HasPairedDoubleQuoteStringConstants = false
True if the target represents string constants as mostly raw characters in paired double quotation with paired double quotation marks as the escape mechanism to represent a double quotation mark within the string. Defaults to false.
protected bool HasFunctionAlignment = true
protected bool HasDotTypeDotSizeDirective = true
True if the target has .type and .size directives, this is true for most ELF targets. Defaults to true.
protected bool HasSingleParameterDotFile = true
True if the target has a single parameter .file directive, this is true for ELF targets. Defaults to true.
protected bool HasFourStringsDotFile = false
True if the target has a four strings .file directive, strings seperated by comma. Defaults to false.
protected bool HasIdentDirective = false
True if the target has a .ident directive, this is true for ELF targets. Defaults to false.
protected bool HasNoDeadStrip = false
True if this target supports the MachO .no_dead_strip directive. Defaults to false.
protected bool HasAltEntry = false
True if this target supports the MachO .alt_entry directive. Defaults to false.
protected const char* WeakDirective
Used to declare a global as being a weak symbol. Defaults to ".weak".
protected const char* WeakRefDirective = nullptr
This directive, if non-null, is used to declare a global as being a weak undefined symbol. Defaults to nullptr.
protected bool HasWeakDefDirective = false
True if we have a directive to declare a global as being a weak defined symbol. Defaults to false.
protected bool HasWeakDefCanBeHiddenDirective = false
True if we have a directive to declare a global as being a weak defined symbol that can be hidden (unexported). Defaults to false.
protected bool AvoidWeakIfComdat = false
True if we should mark symbols as global instead of weak, for weak*/linkonce*, if the symbol has a comdat. Defaults to false.
protected llvm::MCSymbolAttr HiddenVisibilityAttr = MCSA_Hidden
This attribute, if not MCSA_Invalid, is used to declare a symbol as having hidden visibility. Defaults to MCSA_Hidden.
protected llvm::MCSymbolAttr ExportedVisibilityAttr = MCSA_Exported
This attribute, if not MCSA_Invalid, is used to declare a symbol as having exported visibility. Defaults to MCSA_Exported.
protected llvm::MCSymbolAttr HiddenDeclarationVisibilityAttr = MCSA_Hidden
This attribute, if not MCSA_Invalid, is used to declare an undefined symbol as having hidden visibility. Defaults to MCSA_Hidden.
protected llvm::MCSymbolAttr ProtectedVisibilityAttr = MCSA_Protected
This attribute, if not MCSA_Invalid, is used to declare a symbol as having protected visibility. Defaults to MCSA_Protected
protected bool SupportsDebugInformation = false
True if target supports emission of debugging information. Defaults to false.
protected llvm::ExceptionHandling ExceptionsType = ExceptionHandling::None
Exception handling format for the target. Defaults to None.
protected bool UsesCFIForDebug = false
True if target uses CFI unwind information for debugging purpose when `ExceptionsType == ExceptionHandling::None`.
protected WinEH::EncodingType WinEHEncodingType = WinEH::EncodingType::Invalid
Windows exception handling data (.pdata) encoding. Defaults to Invalid.
protected bool DwarfUsesRelocationsAcrossSections = true
True if Dwarf2 output generally uses relocations for references to other .debug_* sections.
protected bool DwarfFDESymbolsUseAbsDiff = false
True if DWARF FDE symbol reference relocations should be replaced by an absolute difference.
protected bool UsesDwarfFileAndLocDirectives = true
True if the target supports generating the DWARF line table through using the .loc/.file directives. Defaults to true.
protected bool EnableDwarfFileDirectoryDefault = true
True if DWARF `.file directory' directive syntax is used by default.
protected bool DwarfSectionSizeRequired = true
True if the target needs the DWARF section length in the header (if any) of the DWARF section in the assembly file. Defaults to true.
protected bool DwarfRegNumForCFI = false
True if dwarf register numbers are printed instead of symbolic register names in .cfi_* directives. Defaults to false.
protected bool UseParensForSymbolVariant = false
True if target uses parens to indicate the symbol variant instead of . For example, foo(plt) instead of foo@plt. Defaults to false.
protected bool UseParensForDollarSignNames = true
True if the target uses parens for symbol names starting with '$' character to distinguish them from absolute names.
protected bool SupportsExtendedDwarfLocDirective = true
True if the target supports flags in ".loc" directive, false if only location is allowed.
protected std::vector<MCCFIInstruction> InitialFrameState
protected std::pair<int, int> BinutilsVersion = {2, 26}
protected 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. It may then be overridden after construction (see LLVMTargetMachine::initAsmInfo()).
protected bool ParseInlineAsmUsingAsmParser
Use AsmParser to parse inlineAsm when UseIntegratedAssembler is not set.
protected bool PreserveAsmComments
Preserve Comments in assembly
protected llvm::DebugCompressionType CompressDebugSections = DebugCompressionType::None
Compress DWARF debug sections. Defaults to no compression.
protected bool UseLogicalShr = true
True if the integrated assembler should interpret 'a >> b' constant expressions as logical rather than arithmetic.
protected bool RelaxELFRelocations = true
protected bool HasMipsExpressions = false
protected bool UseMotorolaIntegers = false
protected bool NeedsFunctionDescriptors = false

Method Overview

Methods

MCAsmInfo()

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:544

void addInitialFrameState(
    const llvm::MCCFIInstruction& Inst)

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:825

Parameters

const llvm::MCCFIInstruction& Inst

bool avoidWeakIfComdat() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:761

bool binutilsIsAtLeast(int Major, int Minor) const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:843

Parameters

int Major
int Minor

bool canRelaxRelocations() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:875

llvm::MCAsmInfo::AsmCharLiteralSyntax
characterLiteralSyntax() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:719

llvm::DebugCompressionType compressDebugSections()
    const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:865

bool doDwarfFDESymbolsUseAbsDiff() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:803

bool doesAllowAtAtStartOfIdentifier() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:690

bool doesAllowAtInName() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:685

bool doesAllowDollarAtStartOfIdentifier() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:693

bool doesAllowHashAtStartOfIdentifier() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:696

bool doesAllowQuestionAtStartOfIdentifier() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:687

bool doesDwarfUseRelocationsAcrossSections() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:799

bool doesSetDirectiveSuppressReloc() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:726

bool doesSupportDataRegionDirectives() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:701

bool doesSupportDebugInformation() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:775

bool doesUseCFIForDebug() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:784

bool doesZeroDirectiveSupportNonZeroValue() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:712

bool enableDwarfFileDirectoryDefault() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:821

bool getAlignmentIsInBytes() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:722

const char* getAsciiDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:715

const char* getAscizDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:716

unsigned int getAssemblerDialect() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:684

const char* getByteListDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:717

bool getCOMMDirectiveAlignmentIsInBytes() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:732

unsigned int getCalleeSaveStackSlotSize() const

Description

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:552

const char* getCode16Directive() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:681

const char* getCode32Directive() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:682

const char* getCode64Directive() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:683

unsigned int getCodePointerSize() const

Description

Get the code pointer size in bytes.

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:548

unsigned int getCommentColumn() const

Description

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:651

llvm::StringRef getCommentString() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:653

const char* getDTPRel32Directive() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:574

const char* getDTPRel64Directive() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:573

const char* getData16bitsDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:567

const char* getData32bitsDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:568

const char* getData64bitsDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:569

const char* getData8bitsDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:566

bool getDollarIsPC() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:644

bool getDotIsPC() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:645

bool getEmitGNUAsmStartIndentationMarker() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:658

llvm::ExceptionHandling getExceptionHandlingType()
    const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:777

llvm::MCSymbolAttr getExportedVisibilityAttr()
    const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:765

virtual const llvm::MCExpr* getExprForFDESymbol(
    const llvm::MCSymbol* Sym,
    unsigned int Encoding,
    llvm::MCStreamer& Streamer) const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:595

Parameters

const llvm::MCSymbol* Sym
unsigned int Encoding
llvm::MCStreamer& Streamer

virtual const llvm::MCExpr*
getExprForPersonalitySymbol(
    const llvm::MCSymbol* Sym,
    unsigned int Encoding,
    llvm::MCStreamer& Streamer) const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:591

Parameters

const llvm::MCSymbol* Sym
unsigned int Encoding
llvm::MCStreamer& Streamer

const char* getGPRel32Directive() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:572

const char* getGPRel64Directive() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:571

const char* getGlobalDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:724

llvm::MCSymbolAttr
getHiddenDeclarationVisibilityAttr() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:767

llvm::MCSymbolAttr getHiddenVisibilityAttr() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:763

const std::vector<MCCFIInstruction>&
getInitialFrameState() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:827

const char* getInlineAsmEnd() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:680

const char* getInlineAsmStart() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:679

LCOMM::LCOMMType getLCOMMDirectiveAlignmentType()
    const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:736

const char* getLabelSuffix() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:661

llvm::StringRef getLinkerPrivateGlobalPrefix()
    const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:673

virtual unsigned int getMaxInstLength(
    const llvm::MCSubtargetInfo* STI =
        nullptr) const

Description

Returns the maximum possible encoded instruction size in bytes. If \p STI is null, this should be the maximum size for any subtarget.

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:639

Parameters

const llvm::MCSubtargetInfo* STI = nullptr

unsigned int getMinInstAlignment() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:643

virtual llvm::MCSection*
getNonexecutableStackSection(
    llvm::MCContext& Ctx) const

Description

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.

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:581

Parameters

llvm::MCContext& Ctx

const char* getPlainStringDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:718

llvm::StringRef getPrivateGlobalPrefix() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:666

llvm::StringRef getPrivateLabelPrefix() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:667

llvm::MCSymbolAttr getProtectedVisibilityAttr()
    const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:771

bool getRestrictCommentStringToStartOfStatement()
    const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:654

const char* getSeparatorString() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:647

bool getStarIsPC() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:646

const char* getTPRel32Directive() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:576

const char* getTPRel64Directive() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:575

unsigned int getTextAlignFillValue() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:723

const char* getWeakDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:753

const char* getWeakRefDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:754

WinEH::EncodingType getWinEHEncodingType() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:778

const char* getZeroDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:711

bool hasAggressiveSymbolFolding() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:730

bool hasAltEntry() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:752

bool hasBasenameOnlyForFileDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:740

bool hasCOFFAssociativeComdats() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:631

bool hasCOFFComdatConstants() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:632

bool hasDotTypeDotSizeDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:747

bool hasFourStringsDotFile() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:749

bool hasFunctionAlignment() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:746

bool hasIdentDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:750

bool hasLEB128Directives() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:709

bool hasLinkerPrivateGlobalPrefix() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:669

bool hasMachoTBSSDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:630

bool hasMachoZeroFillDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:629

bool hasMipsExpressions() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:877

bool hasNoDeadStrip() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:751

bool hasPairedDoubleQuoteStringConstants() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:743

bool hasSingleParameterDotFile() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:748

bool hasSubsectionsViaSymbols() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:562

bool hasVisibilityOnlyWithLinkage() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:633

bool hasWeakDefCanBeHiddenDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:757

bool hasWeakDefDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:755

virtual bool isAcceptableChar(char C) const

Description

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:600

Parameters

char C

bool isLittleEndian() const

Description

True if the target is little endian.

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:557

virtual bool isSectionAtomizableBySymbols(
    const llvm::MCSection& Section) const

Description

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:589

Parameters

const llvm::MCSection& Section

bool isStackGrowthDirectionUp() const

Description

True if target stack grow up.

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:560

virtual bool isValidUnquotedName(
    llvm::StringRef Name) const

Description

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:604

Parameters

llvm::StringRef Name

bool needsDwarfSectionOffsetDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:623

bool needsDwarfSectionSizeInHeader() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:817

bool needsFunctionDescriptors() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:878

bool needsLocalForSize() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:665

bool parseInlineAsmUsingAsmParser() const

Description

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:839

bool preserveAsmComments() const

Description

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:858

void setAllowAtInName(bool V)

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:686

Parameters

bool V

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:831

Parameters

std::pair<int, int> Value

void setCompressDebugSections(
    llvm::DebugCompressionType
        CompressDebugSections)

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:869

Parameters

llvm::DebugCompressionType CompressDebugSections

void setExceptionsType(llvm::ExceptionHandling EH)

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:780

Parameters

llvm::ExceptionHandling EH

virtual void setParseInlineAsmUsingAsmParser(
    bool Value)

Description

Set whether target want to use AsmParser to parse inlineasm.

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:853

Parameters

bool Value

virtual void setPreserveAsmComments(bool Value)

Description

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:861

Parameters

bool Value

void setRelaxELFRelocations(bool V)

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:876

Parameters

bool V

virtual void setUseIntegratedAssembler(bool Value)

Description

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:848

Parameters

bool Value

bool shouldAllowAdditionalComments() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:657

bool shouldEmitLabelsInUpperCase() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:662

virtual bool shouldOmitSectionDirective(
    llvm::StringRef SectionName) const

Description

Return true if the .section directive should be omitted when emitting \p SectionName. For example: shouldOmitSectionDirective(".text") returns false => .section .text,#alloc,#execinstr returns true => .text

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:613

Parameters

llvm::StringRef SectionName

bool shouldUseLogicalShr() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:873

bool shouldUseMotorolaIntegers() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:879

bool supportsExtendedDwarfLocDirective() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:809

bool supportsNameQuoting() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:699

bool supportsSignedData() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:570

bool useAssignmentForEHBegin() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:664

bool useDotAlignForAlignment() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:705

bool useDwarfRegNumForCFI() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:804

bool useIntegratedAssembler() const

Description

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:836

bool useParensForDollarSignNames() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:806

bool useParensForSymbolVariant() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:805

bool usesCFIForEH() const

Description

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

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:788

bool usesDwarfFileAndLocDirectives() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:813

bool usesELFSectionDirectiveForBSS() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:619

bool usesSunStyleELFSectionSwitchSyntax() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:615

bool usesWindowsCFI() const

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:793

virtual ~MCAsmInfo()

Declared at: llvm/include/llvm/MC/MCAsmInfo.h:545