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
- public MCAsmInfo()
- public void addInitialFrameState(const llvm::MCCFIInstruction & Inst)
- public bool avoidWeakIfComdat() const
- public bool binutilsIsAtLeast(int Major, int Minor) const
- public bool canRelaxRelocations() const
- public llvm::MCAsmInfo::AsmCharLiteralSyntax characterLiteralSyntax() const
- public llvm::DebugCompressionType compressDebugSections() const
- public bool doDwarfFDESymbolsUseAbsDiff() const
- public bool doesAllowAtAtStartOfIdentifier() const
- public bool doesAllowAtInName() const
- public bool doesAllowDollarAtStartOfIdentifier() const
- public bool doesAllowHashAtStartOfIdentifier() const
- public bool doesAllowQuestionAtStartOfIdentifier() const
- public bool doesDwarfUseRelocationsAcrossSections() const
- public bool doesSetDirectiveSuppressReloc() const
- public bool doesSupportDataRegionDirectives() const
- public bool doesSupportDebugInformation() const
- public bool doesUseCFIForDebug() const
- public bool doesZeroDirectiveSupportNonZeroValue() const
- public bool enableDwarfFileDirectoryDefault() const
- public bool getAlignmentIsInBytes() const
- public const char * getAsciiDirective() const
- public const char * getAscizDirective() const
- public unsigned int getAssemblerDialect() const
- public const char * getByteListDirective() const
- public bool getCOMMDirectiveAlignmentIsInBytes() const
- public unsigned int getCalleeSaveStackSlotSize() const
- public const char * getCode16Directive() const
- public const char * getCode32Directive() const
- public const char * getCode64Directive() const
- public unsigned int getCodePointerSize() const
- public unsigned int getCommentColumn() const
- public llvm::StringRef getCommentString() const
- public const char * getDTPRel32Directive() const
- public const char * getDTPRel64Directive() const
- public const char * getData16bitsDirective() const
- public const char * getData32bitsDirective() const
- public const char * getData64bitsDirective() const
- public const char * getData8bitsDirective() const
- public bool getDollarIsPC() const
- public bool getDotIsPC() const
- public bool getEmitGNUAsmStartIndentationMarker() const
- public llvm::ExceptionHandling getExceptionHandlingType() const
- public llvm::MCSymbolAttr getExportedVisibilityAttr() const
- public virtual const llvm::MCExpr * getExprForFDESymbol(const llvm::MCSymbol * Sym, unsigned int Encoding, llvm::MCStreamer & Streamer) const
- public virtual const llvm::MCExpr * getExprForPersonalitySymbol(const llvm::MCSymbol * Sym, unsigned int Encoding, llvm::MCStreamer & Streamer) const
- public const char * getGPRel32Directive() const
- public const char * getGPRel64Directive() const
- public const char * getGlobalDirective() const
- public llvm::MCSymbolAttr getHiddenDeclarationVisibilityAttr() const
- public llvm::MCSymbolAttr getHiddenVisibilityAttr() const
- public const std::vector<MCCFIInstruction> & getInitialFrameState() const
- public const char * getInlineAsmEnd() const
- public const char * getInlineAsmStart() const
- public LCOMM::LCOMMType getLCOMMDirectiveAlignmentType() const
- public const char * getLabelSuffix() const
- public llvm::StringRef getLinkerPrivateGlobalPrefix() const
- public virtual unsigned int getMaxInstLength(const llvm::MCSubtargetInfo * STI = nullptr) const
- public unsigned int getMinInstAlignment() const
- public virtual llvm::MCSection * getNonexecutableStackSection(llvm::MCContext & Ctx) const
- public const char * getPlainStringDirective() const
- public llvm::StringRef getPrivateGlobalPrefix() const
- public llvm::StringRef getPrivateLabelPrefix() const
- public llvm::MCSymbolAttr getProtectedVisibilityAttr() const
- public bool getRestrictCommentStringToStartOfStatement() const
- public const char * getSeparatorString() const
- public bool getStarIsPC() const
- public const char * getTPRel32Directive() const
- public const char * getTPRel64Directive() const
- public unsigned int getTextAlignFillValue() const
- public const char * getWeakDirective() const
- public const char * getWeakRefDirective() const
- public WinEH::EncodingType getWinEHEncodingType() const
- public const char * getZeroDirective() const
- public bool hasAggressiveSymbolFolding() const
- public bool hasAltEntry() const
- public bool hasBasenameOnlyForFileDirective() const
- public bool hasCOFFAssociativeComdats() const
- public bool hasCOFFComdatConstants() const
- public bool hasDotTypeDotSizeDirective() const
- public bool hasFourStringsDotFile() const
- public bool hasFunctionAlignment() const
- public bool hasIdentDirective() const
- public bool hasLEB128Directives() const
- public bool hasLinkerPrivateGlobalPrefix() const
- public bool hasMachoTBSSDirective() const
- public bool hasMachoZeroFillDirective() const
- public bool hasMipsExpressions() const
- public bool hasNoDeadStrip() const
- public bool hasPairedDoubleQuoteStringConstants() const
- public bool hasSingleParameterDotFile() const
- public bool hasSubsectionsViaSymbols() const
- public bool hasVisibilityOnlyWithLinkage() const
- public bool hasWeakDefCanBeHiddenDirective() const
- public bool hasWeakDefDirective() const
- public virtual bool isAcceptableChar(char C) const
- public bool isLittleEndian() const
- public virtual bool isSectionAtomizableBySymbols(const llvm::MCSection & Section) const
- public bool isStackGrowthDirectionUp() const
- public virtual bool isValidUnquotedName(llvm::StringRef Name) const
- public bool needsDwarfSectionOffsetDirective() const
- public bool needsDwarfSectionSizeInHeader() const
- public bool needsFunctionDescriptors() const
- public bool needsLocalForSize() const
- public bool parseInlineAsmUsingAsmParser() const
- public bool preserveAsmComments() const
- public void setAllowAtInName(bool V)
- public void setBinutilsVersion(std::pair<int, int> Value)
- public void setCompressDebugSections(llvm::DebugCompressionType CompressDebugSections)
- public void setExceptionsType(llvm::ExceptionHandling EH)
- public virtual void setParseInlineAsmUsingAsmParser(bool Value)
- public virtual void setPreserveAsmComments(bool Value)
- public void setRelaxELFRelocations(bool V)
- public virtual void setUseIntegratedAssembler(bool Value)
- public bool shouldAllowAdditionalComments() const
- public bool shouldEmitLabelsInUpperCase() const
- public virtual bool shouldOmitSectionDirective(llvm::StringRef SectionName) const
- public bool shouldUseLogicalShr() const
- public bool shouldUseMotorolaIntegers() const
- public bool supportsExtendedDwarfLocDirective() const
- public bool supportsNameQuoting() const
- public bool supportsSignedData() const
- public bool useAssignmentForEHBegin() const
- public bool useDotAlignForAlignment() const
- public bool useDwarfRegNumForCFI() const
- public bool useIntegratedAssembler() const
- public bool useParensForDollarSignNames() const
- public bool useParensForSymbolVariant() const
- public bool usesCFIForEH() const
- public bool usesDwarfFileAndLocDirectives() const
- public bool usesELFSectionDirectiveForBSS() const
- public bool usesSunStyleELFSectionSwitchSyntax() const
- public bool usesWindowsCFI() const
- public virtual ~MCAsmInfo()
Methods
¶MCAsmInfo()
MCAsmInfo()
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:544
¶void addInitialFrameState(
const llvm::MCCFIInstruction& Inst)
void addInitialFrameState(
const llvm::MCCFIInstruction& Inst)
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:825
Parameters
- const llvm::MCCFIInstruction& Inst
¶bool avoidWeakIfComdat() const
bool avoidWeakIfComdat() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:761
¶bool binutilsIsAtLeast(int Major, int Minor) const
bool binutilsIsAtLeast(int Major, int Minor) const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:843
Parameters
- int Major
- int Minor
¶bool canRelaxRelocations() const
bool canRelaxRelocations() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:875
¶llvm::MCAsmInfo::AsmCharLiteralSyntax
characterLiteralSyntax() const
llvm::MCAsmInfo::AsmCharLiteralSyntax
characterLiteralSyntax() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:719
¶llvm::DebugCompressionType compressDebugSections()
const
llvm::DebugCompressionType compressDebugSections()
const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:865
¶bool doDwarfFDESymbolsUseAbsDiff() const
bool doDwarfFDESymbolsUseAbsDiff() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:803
¶bool doesAllowAtAtStartOfIdentifier() const
bool doesAllowAtAtStartOfIdentifier() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:690
¶bool doesAllowAtInName() const
bool doesAllowAtInName() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:685
¶bool doesAllowDollarAtStartOfIdentifier() const
bool doesAllowDollarAtStartOfIdentifier() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:693
¶bool doesAllowHashAtStartOfIdentifier() const
bool doesAllowHashAtStartOfIdentifier() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:696
¶bool doesAllowQuestionAtStartOfIdentifier() const
bool doesAllowQuestionAtStartOfIdentifier() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:687
¶bool doesDwarfUseRelocationsAcrossSections() const
bool doesDwarfUseRelocationsAcrossSections() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:799
¶bool doesSetDirectiveSuppressReloc() const
bool doesSetDirectiveSuppressReloc() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:726
¶bool doesSupportDataRegionDirectives() const
bool doesSupportDataRegionDirectives() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:701
¶bool doesSupportDebugInformation() const
bool doesSupportDebugInformation() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:775
¶bool doesUseCFIForDebug() const
bool doesUseCFIForDebug() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:784
¶bool doesZeroDirectiveSupportNonZeroValue() const
bool doesZeroDirectiveSupportNonZeroValue() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:712
¶bool enableDwarfFileDirectoryDefault() const
bool enableDwarfFileDirectoryDefault() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:821
¶bool getAlignmentIsInBytes() const
bool getAlignmentIsInBytes() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:722
¶const char* getAsciiDirective() const
const char* getAsciiDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:715
¶const char* getAscizDirective() const
const char* getAscizDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:716
¶unsigned int getAssemblerDialect() const
unsigned int getAssemblerDialect() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:684
¶const char* getByteListDirective() const
const char* getByteListDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:717
¶bool getCOMMDirectiveAlignmentIsInBytes() const
bool getCOMMDirectiveAlignmentIsInBytes() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:732
¶unsigned int getCalleeSaveStackSlotSize() const
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
const char* getCode16Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:681
¶const char* getCode32Directive() const
const char* getCode32Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:682
¶const char* getCode64Directive() const
const char* getCode64Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:683
¶unsigned int getCodePointerSize() const
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
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
llvm::StringRef getCommentString() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:653
¶const char* getDTPRel32Directive() const
const char* getDTPRel32Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:574
¶const char* getDTPRel64Directive() const
const char* getDTPRel64Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:573
¶const char* getData16bitsDirective() const
const char* getData16bitsDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:567
¶const char* getData32bitsDirective() const
const char* getData32bitsDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:568
¶const char* getData64bitsDirective() const
const char* getData64bitsDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:569
¶const char* getData8bitsDirective() const
const char* getData8bitsDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:566
¶bool getDollarIsPC() const
bool getDollarIsPC() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:644
¶bool getDotIsPC() const
bool getDotIsPC() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:645
¶bool getEmitGNUAsmStartIndentationMarker() const
bool getEmitGNUAsmStartIndentationMarker() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:658
¶llvm::ExceptionHandling getExceptionHandlingType()
const
llvm::ExceptionHandling getExceptionHandlingType()
const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:777
¶llvm::MCSymbolAttr getExportedVisibilityAttr()
const
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
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
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
const char* getGPRel32Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:572
¶const char* getGPRel64Directive() const
const char* getGPRel64Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:571
¶const char* getGlobalDirective() const
const char* getGlobalDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:724
¶llvm::MCSymbolAttr
getHiddenDeclarationVisibilityAttr() const
llvm::MCSymbolAttr
getHiddenDeclarationVisibilityAttr() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:767
¶llvm::MCSymbolAttr getHiddenVisibilityAttr() const
llvm::MCSymbolAttr getHiddenVisibilityAttr() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:763
¶const std::vector<MCCFIInstruction>&
getInitialFrameState() const
const std::vector<MCCFIInstruction>&
getInitialFrameState() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:827
¶const char* getInlineAsmEnd() const
const char* getInlineAsmEnd() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:680
¶const char* getInlineAsmStart() const
const char* getInlineAsmStart() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:679
¶LCOMM::LCOMMType getLCOMMDirectiveAlignmentType()
const
LCOMM::LCOMMType getLCOMMDirectiveAlignmentType()
const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:736
¶const char* getLabelSuffix() const
const char* getLabelSuffix() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:661
¶llvm::StringRef getLinkerPrivateGlobalPrefix()
const
llvm::StringRef getLinkerPrivateGlobalPrefix()
const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:673
¶virtual unsigned int getMaxInstLength(
const llvm::MCSubtargetInfo* STI =
nullptr) const
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
unsigned int getMinInstAlignment() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:643
¶virtual llvm::MCSection*
getNonexecutableStackSection(
llvm::MCContext& Ctx) const
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
const char* getPlainStringDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:718
¶llvm::StringRef getPrivateGlobalPrefix() const
llvm::StringRef getPrivateGlobalPrefix() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:666
¶llvm::StringRef getPrivateLabelPrefix() const
llvm::StringRef getPrivateLabelPrefix() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:667
¶llvm::MCSymbolAttr getProtectedVisibilityAttr()
const
llvm::MCSymbolAttr getProtectedVisibilityAttr()
const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:771
¶bool getRestrictCommentStringToStartOfStatement()
const
bool getRestrictCommentStringToStartOfStatement()
const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:654
¶const char* getSeparatorString() const
const char* getSeparatorString() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:647
¶bool getStarIsPC() const
bool getStarIsPC() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:646
¶const char* getTPRel32Directive() const
const char* getTPRel32Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:576
¶const char* getTPRel64Directive() const
const char* getTPRel64Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:575
¶unsigned int getTextAlignFillValue() const
unsigned int getTextAlignFillValue() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:723
¶const char* getWeakDirective() const
const char* getWeakDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:753
¶const char* getWeakRefDirective() const
const char* getWeakRefDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:754
¶WinEH::EncodingType getWinEHEncodingType() const
WinEH::EncodingType getWinEHEncodingType() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:778
¶const char* getZeroDirective() const
const char* getZeroDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:711
¶bool hasAggressiveSymbolFolding() const
bool hasAggressiveSymbolFolding() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:730
¶bool hasAltEntry() const
bool hasAltEntry() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:752
¶bool hasBasenameOnlyForFileDirective() const
bool hasBasenameOnlyForFileDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:740
¶bool hasCOFFAssociativeComdats() const
bool hasCOFFAssociativeComdats() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:631
¶bool hasCOFFComdatConstants() const
bool hasCOFFComdatConstants() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:632
¶bool hasDotTypeDotSizeDirective() const
bool hasDotTypeDotSizeDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:747
¶bool hasFourStringsDotFile() const
bool hasFourStringsDotFile() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:749
¶bool hasFunctionAlignment() const
bool hasFunctionAlignment() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:746
¶bool hasIdentDirective() const
bool hasIdentDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:750
¶bool hasLEB128Directives() const
bool hasLEB128Directives() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:709
¶bool hasLinkerPrivateGlobalPrefix() const
bool hasLinkerPrivateGlobalPrefix() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:669
¶bool hasMachoTBSSDirective() const
bool hasMachoTBSSDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:630
¶bool hasMachoZeroFillDirective() const
bool hasMachoZeroFillDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:629
¶bool hasMipsExpressions() const
bool hasMipsExpressions() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:877
¶bool hasNoDeadStrip() const
bool hasNoDeadStrip() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:751
¶bool hasPairedDoubleQuoteStringConstants() const
bool hasPairedDoubleQuoteStringConstants() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:743
¶bool hasSingleParameterDotFile() const
bool hasSingleParameterDotFile() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:748
¶bool hasSubsectionsViaSymbols() const
bool hasSubsectionsViaSymbols() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:562
¶bool hasVisibilityOnlyWithLinkage() const
bool hasVisibilityOnlyWithLinkage() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:633
¶bool hasWeakDefCanBeHiddenDirective() const
bool hasWeakDefCanBeHiddenDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:757
¶bool hasWeakDefDirective() const
bool hasWeakDefDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:755
¶virtual bool isAcceptableChar(char C) const
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
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
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
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
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
bool needsDwarfSectionOffsetDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:623
¶bool needsDwarfSectionSizeInHeader() const
bool needsDwarfSectionSizeInHeader() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:817
¶bool needsFunctionDescriptors() const
bool needsFunctionDescriptors() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:878
¶bool needsLocalForSize() const
bool needsLocalForSize() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:665
¶bool parseInlineAsmUsingAsmParser() const
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
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)
void setAllowAtInName(bool V)
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:686
Parameters
- bool V
¶void setBinutilsVersion(std::pair<int, int> Value)
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)
void setCompressDebugSections(
llvm::DebugCompressionType
CompressDebugSections)
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:869
Parameters
- llvm::DebugCompressionType CompressDebugSections
¶void setExceptionsType(llvm::ExceptionHandling EH)
void setExceptionsType(llvm::ExceptionHandling EH)
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:780
Parameters
- llvm::ExceptionHandling EH
¶virtual void setParseInlineAsmUsingAsmParser(
bool Value)
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)
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)
void setRelaxELFRelocations(bool V)
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:876
Parameters
- bool V
¶virtual void setUseIntegratedAssembler(bool Value)
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
bool shouldAllowAdditionalComments() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:657
¶bool shouldEmitLabelsInUpperCase() const
bool shouldEmitLabelsInUpperCase() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:662
¶virtual bool shouldOmitSectionDirective(
llvm::StringRef SectionName) const
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
bool shouldUseLogicalShr() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:873
¶bool shouldUseMotorolaIntegers() const
bool shouldUseMotorolaIntegers() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:879
¶bool supportsExtendedDwarfLocDirective() const
bool supportsExtendedDwarfLocDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:809
¶bool supportsNameQuoting() const
bool supportsNameQuoting() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:699
¶bool supportsSignedData() const
bool supportsSignedData() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:570
¶bool useAssignmentForEHBegin() const
bool useAssignmentForEHBegin() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:664
¶bool useDotAlignForAlignment() const
bool useDotAlignForAlignment() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:705
¶bool useDwarfRegNumForCFI() const
bool useDwarfRegNumForCFI() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:804
¶bool useIntegratedAssembler() const
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
bool useParensForDollarSignNames() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:806
¶bool useParensForSymbolVariant() const
bool useParensForSymbolVariant() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:805
¶bool usesCFIForEH() const
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
bool usesDwarfFileAndLocDirectives() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:813
¶bool usesELFSectionDirectiveForBSS() const
bool usesELFSectionDirectiveForBSS() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:619
¶bool usesSunStyleELFSectionSwitchSyntax() const
bool usesSunStyleELFSectionSwitchSyntax() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:615
¶bool usesWindowsCFI() const
bool usesWindowsCFI() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:793
¶virtual ~MCAsmInfo()
virtual ~MCAsmInfo()
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:545