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 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 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 character used by the assembler. Defaults to "#"
- protected const char* LabelSuffix
- This is appended to emitted labels. Defaults to ":"
- 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 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 const char* ZeroDirective
- This should be set to the directive used to get some number of zero bytes emitted to the current section. Common cases are "\t.zero\t" and "\t.space\t". If this is set to null, the Data*bitsDirective's will be used to emit zero bytes. Defaults to "\t.zero\t"
- 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* 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 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 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 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 HasLinkOnceDirective = false
- True if we have a .linkonce directive. This is used on cygwin/mingw. Defaults to false.
- protected bool HasDotLGloblDirective = false
- True if we have a .lglobl directive, which is used to emit the information of a static symbol into the symbol table. 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 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 SymbolsHaveSMC = false
- 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 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 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 SupportsExtendedDwarfLocDirective = true
- True if the target supports flags in ".loc" directive, false if only location is allowed.
- protected std::vector<MCCFIInstruction> InitialFrameState
- 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 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 NeedsFunctionDescriptors = false
Method Overview
- public MCAsmInfo()
- public void addInitialFrameState(const llvm::MCCFIInstruction & Inst)
- public bool canRelaxRelocations() const
- public llvm::DebugCompressionType compressDebugSections() const
- public bool doDwarfFDESymbolsUseAbsDiff() const
- public bool doesAllowAtInName() const
- public bool doesDwarfUseRelocationsAcrossSections() const
- public bool doesSetDirectiveSuppressReloc() const
- public bool doesSupportDataRegionDirectives() const
- public bool doesSupportDebugInformation() const
- public bool doesSupportExceptionHandling() const
- public bool getAlignmentIsInBytes() const
- public const char * getAsciiDirective() const
- public const char * getAscizDirective() const
- public unsigned int getAssemblerDialect() 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 llvm::ExceptionHandling getExceptionHandlingType() 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 llvm::StringRef getPrivateGlobalPrefix() const
- public llvm::StringRef getPrivateLabelPrefix() const
- public llvm::MCSymbolAttr getProtectedVisibilityAttr() const
- public const char * getSeparatorString() const
- public bool getSymbolsHaveSMC() 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 hasCOFFAssociativeComdats() const
- public bool hasCOFFComdatConstants() const
- public bool hasDotLGloblDirective() const
- public bool hasDotTypeDotSizeDirective() const
- public bool hasFunctionAlignment() const
- public bool hasIdentDirective() const
- public bool hasLinkOnceDirective() const
- public bool hasLinkerPrivateGlobalPrefix() const
- public bool hasMachoTBSSDirective() const
- public bool hasMachoZeroFillDirective() const
- public bool hasMipsExpressions() const
- public bool hasNoDeadStrip() const
- public bool hasSingleParameterDotFile() const
- public bool hasSubsectionsViaSymbols() 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 needsFunctionDescriptors() const
- public bool needsLocalForSize() const
- public bool preserveAsmComments() const
- public void setCompressDebugSections(llvm::DebugCompressionType CompressDebugSections)
- public void setExceptionsType(llvm::ExceptionHandling EH)
- public virtual void setPreserveAsmComments(bool Value)
- public void setRelaxELFRelocations(bool V)
- public virtual void setUseIntegratedAssembler(bool Value)
- public virtual bool shouldOmitSectionDirective(llvm::StringRef SectionName) const
- public bool shouldUseLogicalShr() const
- public bool supportsExtendedDwarfLocDirective() const
- public bool supportsNameQuoting() const
- public bool useAssignmentForEHBegin() const
- public bool useDotAlignForAlignment() const
- public bool useDwarfRegNumForCFI() const
- public bool useIntegratedAssembler() const
- public bool useParensForSymbolVariant() const
- public bool usesCFIForEH() 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:407
¶void addInitialFrameState(
const llvm::MCCFIInstruction& Inst)
void addInitialFrameState(
const llvm::MCCFIInstruction& Inst)
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:633
Parameters
- const llvm::MCCFIInstruction& Inst
¶bool canRelaxRelocations() const
bool canRelaxRelocations() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:665
¶llvm::DebugCompressionType compressDebugSections()
const
llvm::DebugCompressionType compressDebugSections()
const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:655
¶bool doDwarfFDESymbolsUseAbsDiff() const
bool doDwarfFDESymbolsUseAbsDiff() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:626
¶bool doesAllowAtInName() const
bool doesAllowAtInName() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:534
¶bool doesDwarfUseRelocationsAcrossSections() const
bool doesDwarfUseRelocationsAcrossSections() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:622
¶bool doesSetDirectiveSuppressReloc() const
bool doesSetDirectiveSuppressReloc() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:552
¶bool doesSupportDataRegionDirectives() const
bool doesSupportDataRegionDirectives() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:537
¶bool doesSupportDebugInformation() const
bool doesSupportDebugInformation() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:596
¶bool doesSupportExceptionHandling() const
bool doesSupportExceptionHandling() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:598
¶bool getAlignmentIsInBytes() const
bool getAlignmentIsInBytes() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:548
¶const char* getAsciiDirective() const
const char* getAsciiDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:546
¶const char* getAscizDirective() const
const char* getAscizDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:547
¶unsigned int getAssemblerDialect() const
unsigned int getAssemblerDialect() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:533
¶bool getCOMMDirectiveAlignmentIsInBytes() const
bool getCOMMDirectiveAlignmentIsInBytes() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:558
¶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:415
¶const char* getCode16Directive() const
const char* getCode16Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:530
¶const char* getCode32Directive() const
const char* getCode32Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:531
¶const char* getCode64Directive() const
const char* getCode64Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:532
¶unsigned int getCodePointerSize() const
unsigned int getCodePointerSize() const
Description
Get the code pointer size in bytes.
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:411
¶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:508
¶llvm::StringRef getCommentString() const
llvm::StringRef getCommentString() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:510
¶const char* getDTPRel32Directive() const
const char* getDTPRel32Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:436
¶const char* getDTPRel64Directive() const
const char* getDTPRel64Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:435
¶const char* getData16bitsDirective() const
const char* getData16bitsDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:430
¶const char* getData32bitsDirective() const
const char* getData32bitsDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:431
¶const char* getData64bitsDirective() const
const char* getData64bitsDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:432
¶const char* getData8bitsDirective() const
const char* getData8bitsDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:429
¶bool getDollarIsPC() const
bool getDollarIsPC() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:503
¶llvm::ExceptionHandling getExceptionHandlingType()
const
llvm::ExceptionHandling getExceptionHandlingType()
const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:602
¶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:457
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:453
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:434
¶const char* getGPRel64Directive() const
const char* getGPRel64Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:433
¶const char* getGlobalDirective() const
const char* getGlobalDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:550
¶llvm::MCSymbolAttr
getHiddenDeclarationVisibilityAttr() const
llvm::MCSymbolAttr
getHiddenDeclarationVisibilityAttr() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:586
¶llvm::MCSymbolAttr getHiddenVisibilityAttr() const
llvm::MCSymbolAttr getHiddenVisibilityAttr() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:584
¶const std::vector<MCCFIInstruction>&
getInitialFrameState() const
const std::vector<MCCFIInstruction>&
getInitialFrameState() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:635
¶const char* getInlineAsmEnd() const
const char* getInlineAsmEnd() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:529
¶const char* getInlineAsmStart() const
const char* getInlineAsmStart() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:528
¶LCOMM::LCOMMType getLCOMMDirectiveAlignmentType()
const
LCOMM::LCOMMType getLCOMMDirectiveAlignmentType()
const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:562
¶const char* getLabelSuffix() const
const char* getLabelSuffix() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:511
¶llvm::StringRef getLinkerPrivateGlobalPrefix()
const
llvm::StringRef getLinkerPrivateGlobalPrefix()
const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:522
¶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:498
Parameters
- const llvm::MCSubtargetInfo* STI = nullptr
¶unsigned int getMinInstAlignment() const
unsigned int getMinInstAlignment() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:502
¶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:443
Parameters
- llvm::MCContext& Ctx
¶llvm::StringRef getPrivateGlobalPrefix() const
llvm::StringRef getPrivateGlobalPrefix() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:515
¶llvm::StringRef getPrivateLabelPrefix() const
llvm::StringRef getPrivateLabelPrefix() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:516
¶llvm::MCSymbolAttr getProtectedVisibilityAttr()
const
llvm::MCSymbolAttr getProtectedVisibilityAttr()
const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:590
¶const char* getSeparatorString() const
const char* getSeparatorString() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:504
¶bool getSymbolsHaveSMC() const
bool getSymbolsHaveSMC() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:594
¶const char* getTPRel32Directive() const
const char* getTPRel32Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:438
¶const char* getTPRel64Directive() const
const char* getTPRel64Directive() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:437
¶unsigned int getTextAlignFillValue() const
unsigned int getTextAlignFillValue() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:549
¶const char* getWeakDirective() const
const char* getWeakDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:572
¶const char* getWeakRefDirective() const
const char* getWeakRefDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:573
¶WinEH::EncodingType getWinEHEncodingType() const
WinEH::EncodingType getWinEHEncodingType() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:603
¶const char* getZeroDirective() const
const char* getZeroDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:545
¶bool hasAggressiveSymbolFolding() const
bool hasAggressiveSymbolFolding() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:556
¶bool hasAltEntry() const
bool hasAltEntry() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:571
¶bool hasCOFFAssociativeComdats() const
bool hasCOFFAssociativeComdats() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:493
¶bool hasCOFFComdatConstants() const
bool hasCOFFComdatConstants() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:494
¶bool hasDotLGloblDirective() const
bool hasDotLGloblDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:582
¶bool hasDotTypeDotSizeDirective() const
bool hasDotTypeDotSizeDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:567
¶bool hasFunctionAlignment() const
bool hasFunctionAlignment() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:566
¶bool hasIdentDirective() const
bool hasIdentDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:569
¶bool hasLinkOnceDirective() const
bool hasLinkOnceDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:580
¶bool hasLinkerPrivateGlobalPrefix() const
bool hasLinkerPrivateGlobalPrefix() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:518
¶bool hasMachoTBSSDirective() const
bool hasMachoTBSSDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:492
¶bool hasMachoZeroFillDirective() const
bool hasMachoZeroFillDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:491
¶bool hasMipsExpressions() const
bool hasMipsExpressions() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:667
¶bool hasNoDeadStrip() const
bool hasNoDeadStrip() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:570
¶bool hasSingleParameterDotFile() const
bool hasSingleParameterDotFile() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:568
¶bool hasSubsectionsViaSymbols() const
bool hasSubsectionsViaSymbols() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:425
¶bool hasWeakDefCanBeHiddenDirective() const
bool hasWeakDefCanBeHiddenDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:576
¶bool hasWeakDefDirective() const
bool hasWeakDefDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:574
¶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:462
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:420
¶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:451
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:423
¶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:466
Parameters
- llvm::StringRef Name
¶bool needsDwarfSectionOffsetDirective() const
bool needsDwarfSectionOffsetDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:485
¶bool needsFunctionDescriptors() const
bool needsFunctionDescriptors() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:668
¶bool needsLocalForSize() const
bool needsLocalForSize() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:514
¶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:648
¶void setCompressDebugSections(
llvm::DebugCompressionType
CompressDebugSections)
void setCompressDebugSections(
llvm::DebugCompressionType
CompressDebugSections)
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:659
Parameters
- llvm::DebugCompressionType CompressDebugSections
¶void setExceptionsType(llvm::ExceptionHandling EH)
void setExceptionsType(llvm::ExceptionHandling EH)
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:605
Parameters
- llvm::ExceptionHandling EH
¶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:651
Parameters
- bool Value
¶void setRelaxELFRelocations(bool V)
void setRelaxELFRelocations(bool V)
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:666
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:643
Parameters
- bool Value
¶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:475
Parameters
- llvm::StringRef SectionName
¶bool shouldUseLogicalShr() const
bool shouldUseLogicalShr() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:663
¶bool supportsExtendedDwarfLocDirective() const
bool supportsExtendedDwarfLocDirective() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:629
¶bool supportsNameQuoting() const
bool supportsNameQuoting() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:535
¶bool useAssignmentForEHBegin() const
bool useAssignmentForEHBegin() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:513
¶bool useDotAlignForAlignment() const
bool useDotAlignForAlignment() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:541
¶bool useDwarfRegNumForCFI() const
bool useDwarfRegNumForCFI() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:627
¶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:640
¶bool useParensForSymbolVariant() const
bool useParensForSymbolVariant() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:628
¶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:611
¶bool usesELFSectionDirectiveForBSS() const
bool usesELFSectionDirectiveForBSS() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:481
¶bool usesSunStyleELFSectionSwitchSyntax() const
bool usesSunStyleELFSectionSwitchSyntax() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:477
¶bool usesWindowsCFI() const
bool usesWindowsCFI() const
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:616
¶virtual ~MCAsmInfo()
virtual ~MCAsmInfo()
Declared at: llvm/include/llvm/MC/MCAsmInfo.h:408