Target asm properties for XCOFF-based targets.
| Name | Description |
|---|---|
MCAsmInfo | This class is intended to be used as a base class for asm properties and features specific to the target. |
| Name | Description |
|---|---|
AtSpecifierKind | Type for at specifiers. Currently, 16 bits is enough. |
| Name | Description |
|---|---|
AsmCharLiteralSyntax | Assembly character literal syntax types. |
| Name | Description |
|---|---|
operator= [deleted] | Deleted copy assignment. |
addInitialFrameState | Append an initial CFI instruction to the prologue frame state. |
avoidWeakIfComdat | True if weak*/linkonce* symbols with a comdat should be marked global. |
binutilsIsAtLeast | True if the configured binutils version is at least Major.Minor. |
characterLiteralSyntax | Return the character-literal syntax used by this target. |
doDwarfFDESymbolsUseAbsDiff | True if DWARF FDE symbol refs should become absolute differences. |
doesAllowAtAtStartOfIdentifier | True if @ may start an identifier token. |
doesAllowAtInName | True if @ is allowed inside symbol names. |
doesAllowDollarAtStartOfIdentifier | True if $ may start an identifier token. |
doesAllowQuestionAtStartOfIdentifier | True if ? may start an identifier token. |
doesDwarfUseRelocationsAcrossSections | True if Dwarf2 output uses relocations across .debug_* sections. |
doesSetDirectiveSuppressReloc | True if .set can suppress a reloc for symbol differences. |
doesSupportDataRegionDirectives | True if data-region markers are printed as directives. |
doesSupportDebugInformation | True if the target supports emission of debugging information. |
enableDwarfFileDirectoryDefault | True if DWARF .file directory syntax is used by default. |
evaluateAsRelocatableImpl [virtual] | Evaluate E as a relocatable MCValue. |
getAlignmentIsInBytes | True if .align takes a byte count rather than log2(N). |
getAsciiDirective | Return the ASCII string directive. |
getAscizDirective | Return the NUL-terminated ASCII string directive. |
getAssemblerDialect | Return the default assembler dialect variant. |
getCOMMDirectiveAlignmentIsInBytes | True if .comm / .lcomm alignment is specified in bytes. |
getCalleeSaveStackSlotSize | Get the callee-saved register stack slot size in bytes. |
getCodePointerSize | Get the code pointer size in bytes. |
getCommentColumn | Return the zero-based column where asm comments are printed. |
getCommentString | Return the assembler comment string. |
getData16bitsDirective | Return the directive used to emit 16-bit data. |
getData32bitsDirective | Return the directive used to emit 32-bit data. |
getData64bitsDirective | Return the directive used to emit 64-bit data. |
getData8bitsDirective | Return the directive used to emit 8-bit data. |
getDollarIsPC | True if a bare $ token refers to the current PC. |
getExceptionHandlingType | Return the exception-handling format for the target. |
getExportedVisibilityAttr | Return the attribute used for exported visibility. |
getExprForFDESymbol | Build an MCExpr referring to an FDE symbol for EH tables. |
getExprForPersonalitySymbol [virtual] | Build an MCExpr referring to a personality symbol for EH tables. |
getGlobalDirective | Return the directive used to declare a global entity. |
getHiddenDeclarationVisibilityAttr | Return the attribute used for hidden visibility on undefined symbols. |
getHiddenVisibilityAttr | Return the attribute used for hidden visibility. |
getInitialFrameState | Return the initial CFI instructions for the prologue frame state. |
getInlineAsmEnd | Return the directive emitted after inline assembly. |
getInlineAsmStart | Return the directive emitted before inline assembly. |
getInternalSymbolPrefix | Return the prefix used for compiler/assembler-internal symbols. |
getLCOMMDirectiveAlignmentType | Return how .lcomm interprets an optional alignment argument. |
getLabelSuffix | Return the suffix appended to emitted labels. |
getLinkerPrivateGlobalPrefix | Return the linker-private prefix, or the internal prefix if none. |
getMaxInstLength [virtual] | Returns the maximum possible encoded instruction size in bytes. If STI is null, this should be the maximum size for any subtarget. |
getMinInstAlignment | Return the minimum instruction alignment in bytes. |
getOutputAssemblerDialect | Return the assembler dialect that output printing should use. |
getProtectedVisibilityAttr | Return the attribute used for protected visibility. |
getReservedIdentifiers | getReservedIdentifiers overloads |
getSeparatorString | Return the string used to separate instructions on one line. |
getSpecifierForName | Return the specifier kind for Name, if known. |
getSpecifierName | Return the printed name for relocation specifier kind S. |
getStackSection [virtual] | Return the section to use for the stack, or null if none. |
getTargetOptions | Return the retained target MC options. |
getTextAlignFillValue | Return the fill value used for executable alignment padding. |
getWeakDirective | Return the directive used to declare a weak symbol. |
getWeakRefDirective | Return the directive used to declare a weak undefined symbol. |
getWinEHEncodingType | Return the Windows EH data encoding type. |
getZeroDirective | Return the zero/fill directive string. |
hasCOFFAssociativeComdats | True if associative COFF comdats are supported. |
hasCOFFComdatConstants | True if COFF comdat constants are supported. |
hasDotTypeDotSizeDirective | True if the target has .type and .size directives. |
hasFunctionAlignment | True if the target allows .align directives on functions. |
hasIdentDirective | True if the target has a .ident directive. |
hasLEB128Directives | True if the target supports LEB128 directives. |
hasLinkerPrivateGlobalPrefix | True if a non-empty linker-private global prefix is configured. |
hasNoDeadStrip | True if this target supports the MachO .no_dead_strip directive. |
hasPreferredAlignment | True if the target respects .prefalign directives. |
hasSingleParameterDotFile | True if the target has a single-parameter .file directive. |
hasSubsectionsViaSymbols | True if this target has the MachO .subsections_via_symbols directive. |
hasWeakDefCanBeHiddenDirective | True if weak-defined symbols can be declared hidden. |
isAIX | True if this target is AIX. |
isAcceptableChar | Return true if C is an acceptable character inside a symbol name. |
isHLASM | True if using the HLASM dialect on z/OS. |
isLittleEndian | True if the target is little endian. |
isMachO | True if this is a MachO-style target (via subsections-via-symbols). |
isStackGrowthDirectionUp | True if target stack grow up. |
isValidUnquotedName | Return true if the identifier Name does not need quotes to be syntactically correct. |
needsDwarfSectionOffsetDirective | True if DWARF section offsets need a dedicated directive. |
needsLocalForSize | True if a local symbol must be created for .size. |
parseInlineAsmUsingAsmParser | Return true if target want to use AsmParser to parse inlineasm. |
preserveAsmComments | Return true if assembly (inline or otherwise) should be parsed. |
printExpr | Print Expr to OS using target asm syntax. |
printSpecifierExpr [virtual] | Print a target specifier expression to OS. |
printSwitchToSection [virtual] | Print the assembler text that switches to Section. |
setAllowAtInName | Set whether @ is allowed inside symbol names. |
setBinutilsVersion | Set the assumed GNU binutils version for ELF feature selection. |
setCommentColumn | Set the zero-based column where asm comments are printed. |
setExceptionsType | Set the exception-handling format for the target. |
setFullRegisterNames | Set whether full register names are printed. |
setParseInlineAsmUsingAsmParser | Set whether target want to use AsmParser to parse inlineasm. |
setPreserveAsmComments | Set whether assembly (inline or otherwise) should be parsed. |
setUseIntegratedAssembler [virtual] | Set whether assembly (inline or otherwise) should be parsed. |
shouldAllowAdditionalComments | True if additional comment forms are lexed as comments. |
shouldOmitSectionDirective [virtual] | Return true if the .section directive should be omitted when emitting SectionName. For example: |
shouldUseLogicalShr | True if >> in constant expressions is a logical shift. |
shouldUseMotorolaIntegers | True if Motorola-style integer literals are used. |
supportsExtendedDwarfLocDirective | True if .loc directives may include flags beyond location. |
supportsNameQuoting | True if symbol names with invalid characters are printed in quotes. |
supportsSignedData | True if data directives accept signed values. |
useAssignmentForEHBegin | True if the EH begin symbol is printed with an assignment. |
useAtForSpecifier | True if relocation specifiers use @ (exprspecifier). |
useCodeAlign [virtual] | Return true if a .align directive should use optimized nops to fill instead of 0s. |
useDwarfRegNumForCFI | True if dwarf register numbers are printed in .cfi_* directives. |
useFullRegisterNames | True if full register names are printed. |
useIntegratedAssembler | Return true if assembly (inline or otherwise) should be parsed. |
useParensForSpecifier | True if relocation specifiers use parentheses (ARM-style). |
usesCFIForEH | Returns true if the exception handling method for the platform uses call frame information to unwind. |
usesCFIWithoutEH | True if CFI is used for non-EH purposes when exceptions are None. |
usesELFSectionDirectiveForBSS | True if .section must precede .bss on this target. |
usesSetToEquateSymbol | True if .set is used instead of = to equate symbols. |
usesSunStyleELFSectionSwitchSyntax | True if section switching uses Sun-style ELF flag syntax. |
usesWindowsCFI | True if Windows CFI-based EH is in use. |
| Name | Description |
|---|---|
MCAsmInfoXCOFF [constructor] | Construct XCOFF asm info using the given target options. |
initializeAtSpecifiers | Populate AtSpecifierToName / NameToAtSpecifier from Descs. |
printSwitchToSection [virtual] | Print the assembler text that switches to Section. |
useCodeAlign [virtual] | Return true if a .align directive should use optimized nops to fill instead of 0s. |
| Name | Description |
|---|---|
AlignmentIsInBytes | True if .align takes a byte count rather than log2(N). |
AllowAdditionalComments | Whether additional comment forms are lexed as comments. |
AllowAtAtStartOfIdentifier | True if '@' may start an identifier token. |
AllowAtInName | This is true if the assembler allows @ characters in symbol names. Defaults to false. |
AllowDollarAtStartOfIdentifier | True if '$' may start an identifier token. |
AllowQuestionAtStartOfIdentifier | True if '?' may start an identifier token. |
AsciiDirective | Directive that emits an ASCII string with C escapes. |
AscizDirective | Directive that emits a NUL-terminated ASCII string. |
AssemblerDialect | Which dialect of an assembler variant to use. Defaults to 0 |
AtSpecifierToName | Map from @-style relocation specifier kind to its printed name. |
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 | Minimum GNU binutils version whose ELF features may be assumed. |
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 | Character-literal syntax used when emitting byte lists. |
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 | Directive that emits 16-bit integer data. Defaults to "t.shortt". |
Data32bitsDirective | Directive that emits 32-bit integer data. Defaults to "t.longt". |
Data64bitsDirective | Directive that emits 64-bit integer data. Defaults to "t.quadt". |
Data8bitsDirective | Directive that emits 8-bit integer data. |
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 | True if the target allows .align directives on functions. |
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 | True if the target respects .prefalign directives. |
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 | Initial CFI instructions describing the prologue frame state. |
InlineAsmEnd | Directive emitted after an inline assembly statement. Defaults to "NO_APP". |
InlineAsmStart | If these are nonempty, they contain a directive to emit before and after an inline assembly statement. Defaults to "APP", "NO_APP" |
InternalSymbolPrefix | Prefix for compiler/assembler-internal symbols. |
IsAIX | True if this target is AIX. |
IsHLASM | True if using the HLASM dialect on z/OS. |
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 | Prefix for symbols stripped by the linker after assembly. |
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 | Map from relocation specifier name to its kind. |
NeedsDwarfSectionOffsetDirective | True if DWARF section offsets need a dedicated directive. |
NeedsLocalForSize | True if a local symbol must be created for .size. |
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 | Lowercase identifiers that must be quoted when used as symbol names. |
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 | True if section switching uses Sun-style #alloc,#write flags. |
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 | Target-specific MC options used while configuring this asm info. |
TextAlignFillValue | If non-zero, this is used to fill the executable space created as the result of a alignment directive. Defaults to 0 |
UseAssignmentForEHBegin | Print the EH begin symbol with an assignment. Defaults to false. |
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 | Whether the integrated assembler should be used. |
UseLogicalShr | True if the integrated assembler should interpret 'a >> b' constant expressions as logical rather than arithmetic. |
UseMotorolaIntegers | True if Motorola-style integer literals (e.g. $0ac) are used. |
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 | True if .section must precede .bss on this target. |
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 | Directive that emits a run of zero (or fill) bytes. |