AlignmentIsInBytes | 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. |
AllowAdditionalComments | 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. |
AllowAtAtStartOfIdentifier | 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. |
AllowAtInName | This is true if the assembler allows @ characters in symbol names. Defaults to false. |
AllowDollarAtStartOfIdentifier | 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. |
AllowQuestionAtStartOfIdentifier | 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. |
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.asciit" |
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.ascizt" |
AssemblerDialect | Which dialect of an assembler variant to use. Defaults to 0 |
AtSpecifierToName | |
AvoidWeakIfComdat | True if we should mark symbols as global instead of weak, for weak*/linkonce*, if the symbol has a comdat. Defaults to false. |
BinutilsVersion | |
COMMDirectiveAlignmentIsInBytes | True is .comm's and .lcomms optional alignment is to be specified in bytes instead of log2(n). Defaults to true. |
CalleeSaveStackSlotSize | Size of the stack slot reserved for callee-saved registers, in bytes. Default is same as pointer size. |
CharacterLiteralSyntax | 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. |
CodePointerSize | Code pointer size in bytes. Default is 4. |
CommentColumn | The column (zero-based) at which asm comments should be printed. |
CommentString | This indicates the comment string used by the assembler. Defaults to "#" |
Data16bitsDirective | |
Data32bitsDirective | |
Data64bitsDirective | |
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.bytet", "t.shortt", "t.longt", "t.quadt" |
DollarIsPC | The '$' token, when not referencing an identifier or constant, refers to the current PC. Defaults to false. |
DwarfFDERelSymbolSpec | The optional specifier to use for the relative FDE symbol references. |
DwarfFDESymbolsUseAbsDiff | True if DWARF FDE symbol reference relocations should be replaced by an absolute difference. |
DwarfRegNumForCFI | True if dwarf register numbers are printed instead of symbolic register names in .cfi_* directives. Defaults to false. |
DwarfUsesRelocationsAcrossSections | True if Dwarf2 output generally uses relocations for references to other .debug_* sections. |
EnableDwarfFileDirectoryDefault | True if DWARF `.file directory' directive syntax is used by default. |
ExceptionsType | Exception handling format for the target. Defaults to None. |
ExportedVisibilityAttr | This attribute, if not MCSA_Invalid, is used to declare a symbol as having exported visibility. Defaults to MCSA_Exported. |
GlobalDirective | This is the directive used to declare a global entity. Defaults to ".globl". |
HasCOFFAssociativeComdats | 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. |
HasCOFFComdatConstants | True if this is a non-GNU COFF target. For GNU targets, we don't generate constants into comdat sections. |
HasDotTypeDotSizeDirective | True if the target has .type and .size directives, this is true for most ELF targets. Defaults to true. |
HasFunctionAlignment | |
HasIdentDirective | True if the target has a .ident directive, this is true for ELF targets. Defaults to false. |
HasLEB128Directives | True if the target supports LEB128 directives. |
HasNoDeadStrip | True if this target supports the MachO .no_dead_strip directive. Defaults to false. |
HasPreferredAlignment | |
HasSingleParameterDotFile | True if the target has a single parameter .file directive, this is true for ELF targets. Defaults to true. |
HasSubsectionsViaSymbols | True if this target has the MachO .subsections_via_symbols directive. Default is false. |
HasWeakDefCanBeHiddenDirective | True if we have a directive to declare a global as being a weak defined symbol that can be hidden (unexported). Defaults to false. |
HiddenDeclarationVisibilityAttr | This attribute, if not MCSA_Invalid, is used to declare an undefined symbol as having hidden visibility. Defaults to MCSA_Hidden. |
HiddenVisibilityAttr | This attribute, if not MCSA_Invalid, is used to declare a symbol as having hidden visibility. Defaults to MCSA_Hidden. |
InitialFrameState | |
InlineAsmEnd | |
InlineAsmStart | If these are nonempty, they contain a directive to emit before and after an inline assembly statement. Defaults to "APP", "NO_APP" |
InternalSymbolPrefix | For internal use by compiler and assembler, not meant to be visible externally. They are usually not emitted to the symbol table in the object file. This is also used for labels for basic blocks. |
IsAIX | |
IsHLASM | |
IsLittleEndian | True if target is little endian. Default is true. |
LCOMMDirectiveAlignmentType | Describes if the .lcomm directive for the target supports an alignment argument and how it is interpreted. Defaults to NoAlignment. |
LabelSuffix | This is appended to emitted labels. Defaults to ":" |
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 "". |
MaxInstLength | This is the maximum possible length of an instruction, which is needed to compute the size of an inline asm. Defaults to 4. |
MinInstAlignment | Every possible instruction length is a multiple of this value. Factored out in .debug_frame and .debug_line. Defaults to 1. |
NameToAtSpecifier | |
NeedsDwarfSectionOffsetDirective | |
NeedsLocalForSize | |
PPCUseFullRegisterNames | True if full register names are printed. |
ParseInlineAsmUsingAsmParser | Use AsmParser to parse inlineAsm when UseIntegratedAssembler is not set. |
PreserveAsmComments | Preserve Comments in assembly |
ProtectedVisibilityAttr | This attribute, if not MCSA_Invalid, is used to declare a symbol as having protected visibility. Defaults to MCSA_Protected |
ReservedIdentifiers | |
SeparatorString | This string, if specified, is used to separate instructions from each other when on the same line. Defaults to ';' |
SetDirectiveSuppressesReloc | True if the expression .long f - g uses a relocation but it can be suppressed by writing a = f - g .long a |
StackGrowsUp | True if target stack grow up. Default is false. |
SunStyleELFSectionSwitchSyntax | This is true if this target uses "Sun Style" syntax for section switching ("#alloc,#write" etc) instead of the normal ELF syntax (,"a,w") in .section directives. Defaults to false. |
SupportsDebugInformation | True if target supports emission of debugging information. Defaults to false. |
SupportsExtendedDwarfLocDirective | True if the target supports flags in ".loc" directive, false if only location is allowed. |
SupportsQuotedNames | If this is true, symbol names with invalid characters will be printed in quotes. |
SupportsSignedData | True if data directives support signed values |
TargetOptions | |
TextAlignFillValue | If non-zero, this is used to fill the executable space created as the result of a alignment directive. Defaults to 0 |
UseAssignmentForEHBegin | |
UseAtForSpecifier | True if target uses @ (exprspecifier) for relocation specifiers. |
UseDataRegionDirectives | This is true if data region markers should be printed as ".data_region/.end_data_region" directives. If false, use "\(d/\)a" labels instead. |
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 CodeGenTargetMachineImpl::initAsmInfo()). |
UseLogicalShr | True if the integrated assembler should interpret 'a >> b' constant expressions as logical rather than arithmetic. |
UseMotorolaIntegers | |
UseParensForSpecifier | (ARM-specific) Uses parens for relocation specifier in data directives, e.g. .word foo(got). |
UsesCFIWithoutEH | True if target uses CFI unwind information for other purposes than EH (debugging / sanitizers) when ExceptionsType == ExceptionHandling::None. |
UsesELFSectionDirectiveForBSS | 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. |
UsesSetToEquateSymbol | Use .set instead of = to equate a symbol to an expression. |
WeakDirective | Used to declare a global as being a weak symbol. Defaults to ".weak". |
WeakRefDirective | This directive, if non-null, is used to declare a global as being a weak undefined symbol. Defaults to nullptr. |
WinEHEncodingType | Windows exception handling data (.pdata) encoding. Defaults to Invalid. |
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.zerot" and "t.spacet". Defaults to "t.zerot" |