LLVM 17.0.0git
|
This class is intended to be used as a base class for asm properties and features specific to the target. More...
#include "llvm/MC/MCAsmInfo.h"
Public Types | |
enum | AsmCharLiteralSyntax { ACLS_Unknown , ACLS_SingleQuotePrefix } |
Assembly character literal syntax types. More... | |
Protected Attributes | |
unsigned | CodePointerSize = 4 |
Code pointer size in bytes. Default is 4. | |
unsigned | CalleeSaveStackSlotSize = 4 |
Size of the stack slot reserved for callee-saved registers, in bytes. | |
bool | IsLittleEndian = true |
True if target is little endian. Default is true. | |
bool | StackGrowsUp = false |
True if target stack grow up. Default is false. | |
bool | HasSubsectionsViaSymbols = false |
True if this target has the MachO .subsections_via_symbols directive. | |
bool | HasMachoZeroFillDirective = false |
True if this is a MachO target that supports the macho-specific .zerofill directive for emitting BSS Symbols. | |
bool | HasMachoTBSSDirective = false |
True if this is a MachO target that supports the macho-specific .tbss directive for emitting thread local BSS Symbols. | |
bool | HasCOFFAssociativeComdats = false |
True if this is a non-GNU COFF target. | |
bool | HasCOFFComdatConstants = false |
True if this is a non-GNU COFF target. | |
bool | HasVisibilityOnlyWithLinkage = false |
True if this is an XCOFF target that supports visibility attributes as part of .global, .weak, .extern, and .comm. | |
unsigned | MaxInstLength = 4 |
This is the maximum possible length of an instruction, which is needed to compute the size of an inline asm. | |
unsigned | MinInstAlignment = 1 |
Every possible instruction length is a multiple of this value. | |
bool | DollarIsPC = false |
The '$' token, when not referencing an identifier or constant, refers to the current PC. | |
bool | DotIsPC = true |
Allow '. | |
bool | StarIsPC = false |
Whether the '*' token refers to the current PC. | |
const char * | SeparatorString |
This string, if specified, is used to separate instructions from each other when on the same line. | |
StringRef | CommentString |
This indicates the comment string used by the assembler. | |
bool | RestrictCommentStringToStartOfStatement = false |
This indicates whether the comment string is only accepted as a comment at the beginning of statements. | |
bool | AllowAdditionalComments = true |
This indicates whether to allow additional "comment strings" to be lexed as a comment. | |
bool | EmitGNUAsmStartIndentationMarker = true |
Should we emit the '\t' as the starting indentation marker for GNU inline asm statements. | |
const char * | LabelSuffix |
This is appended to emitted labels. Defaults to ":". | |
bool | EmitLabelsInUpperCase = false |
Emit labels in purely upper case. Defaults to false. | |
bool | UseAssignmentForEHBegin = false |
bool | NeedsLocalForSize = false |
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. | |
StringRef | PrivateLabelPrefix |
This prefix is used for labels for basic blocks. | |
StringRef | LinkerPrivateGlobalPrefix |
This prefix is used for symbols that should be passed through the assembler but be removed by the linker. | |
const char * | InlineAsmStart |
If these are nonempty, they contain a directive to emit before and after an inline assembly statement. | |
const char * | InlineAsmEnd |
const char * | Code16Directive |
These are assembly directives that tells the assembler to interpret the following instructions differently. | |
const char * | Code32Directive |
const char * | Code64Directive |
unsigned | AssemblerDialect = 0 |
Which dialect of an assembler variant to use. Defaults to 0. | |
bool | AllowAtInName = false |
This is true if the assembler allows @ characters in symbol names. | |
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. | |
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. | |
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. | |
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. | |
bool | SupportsQuotedNames = true |
If this is true, symbol names with invalid characters will be printed in quotes. | |
bool | UseDataRegionDirectives = false |
This is true if data region markers should be printed as ".data_region/.end_data_region" directives. | |
bool | UseDotAlignForAlignment = false |
True if .align is to be used for alignment. | |
bool | HasLEB128Directives = true |
True if the target supports LEB128 directives. | |
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. | |
bool | ZeroDirectiveSupportsNonZeroValue = true |
This should be set to true if the zero directive supports a value to emit other than zero. | |
const char * | AsciiDirective |
This directive allows emission of an ascii string with the standard C escape characters embedded into it. | |
const char * | AscizDirective |
If not null, this allows for special handling of zero terminated strings on this target. | |
const char * | ByteListDirective = nullptr |
This directive accepts a comma-separated list of bytes for emission as a string of bytes. | |
const char * | PlainStringDirective = nullptr |
This directive allows emission of a zero-terminated ascii string without the standard C escape characters embedded into it. | |
AsmCharLiteralSyntax | CharacterLiteralSyntax = ACLS_Unknown |
Form used for character literals in the assembly syntax. | |
const char * | Data8bitsDirective |
These directives are used to output some unit of integer data to the current section. | |
const char * | Data16bitsDirective |
const char * | Data32bitsDirective |
const char * | Data64bitsDirective |
bool | SupportsSignedData = true |
True if data directives support signed values. | |
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. | |
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. | |
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. | |
const char * | DTPRel64Directive = nullptr |
const char * | TPRel32Directive = nullptr |
const char * | TPRel64Directive = nullptr |
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. | |
bool | UsesELFSectionDirectiveForBSS = false |
This is true if this target uses ELF '.section' directive before the '.bss' one. | |
bool | NeedsDwarfSectionOffsetDirective = false |
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. | |
unsigned | TextAlignFillValue = 0 |
If non-zero, this is used to fill the executable space created as the result of a alignment directive. | |
const char * | GlobalDirective |
This is the directive used to declare a global entity. | |
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. | |
bool | HasAggressiveSymbolFolding = true |
False if the assembler requires that we use. | |
bool | COMMDirectiveAlignmentIsInBytes = true |
True is .comm's and .lcomms optional alignment is to be specified in bytes instead of log2(n). | |
LCOMM::LCOMMType | LCOMMDirectiveAlignmentType = LCOMM::NoAlignment |
Describes if the .lcomm directive for the target supports an alignment argument and how it is interpreted. | |
bool | HasBasenameOnlyForFileDirective = true |
True if the target only has basename for .file directive. | |
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. | |
bool | HasFunctionAlignment = true |
bool | HasDotTypeDotSizeDirective = true |
True if the target has .type and .size directives, this is true for most ELF targets. | |
bool | HasSingleParameterDotFile = true |
True if the target has a single parameter .file directive, this is true for ELF targets. | |
bool | HasFourStringsDotFile = false |
True if the target has a four strings .file directive, strings seperated by comma. | |
bool | HasIdentDirective = false |
True if the target has a .ident directive, this is true for ELF targets. | |
bool | HasNoDeadStrip = false |
True if this target supports the MachO .no_dead_strip directive. | |
bool | HasAltEntry = false |
True if this target supports the MachO .alt_entry directive. | |
const char * | WeakDirective |
Used to declare a global as being a weak symbol. Defaults to ".weak". | |
const char * | WeakRefDirective = nullptr |
This directive, if non-null, is used to declare a global as being a weak undefined symbol. | |
bool | HasWeakDefDirective = false |
True if we have a directive to declare a global as being a weak defined symbol. | |
bool | HasWeakDefCanBeHiddenDirective = false |
True if we have a directive to declare a global as being a weak defined symbol that can be hidden (unexported). | |
bool | AvoidWeakIfComdat = false |
True if we should mark symbols as global instead of weak, for weak*/linkonce*, if the symbol has a comdat. | |
MCSymbolAttr | HiddenVisibilityAttr = MCSA_Hidden |
This attribute, if not MCSA_Invalid, is used to declare a symbol as having hidden visibility. | |
MCSymbolAttr | ExportedVisibilityAttr = MCSA_Exported |
This attribute, if not MCSA_Invalid, is used to declare a symbol as having exported visibility. | |
MCSymbolAttr | HiddenDeclarationVisibilityAttr = MCSA_Hidden |
This attribute, if not MCSA_Invalid, is used to declare an undefined symbol as having hidden visibility. | |
MCSymbolAttr | ProtectedVisibilityAttr = MCSA_Protected |
This attribute, if not MCSA_Invalid, is used to declare a symbol as having protected visibility. | |
MCSymbolAttr | MemtagAttr = MCSA_Memtag |
bool | SupportsDebugInformation = false |
True if target supports emission of debugging information. | |
ExceptionHandling | ExceptionsType = ExceptionHandling::None |
Exception handling format for the target. Defaults to None. | |
bool | UsesCFIForDebug = false |
True if target uses CFI unwind information for debugging purpose when ExceptionsType == ExceptionHandling::None . | |
WinEH::EncodingType | WinEHEncodingType = WinEH::EncodingType::Invalid |
Windows exception handling data (.pdata) encoding. Defaults to Invalid. | |
bool | DwarfUsesRelocationsAcrossSections = true |
True if Dwarf2 output generally uses relocations for references to other .debug_* sections. | |
bool | DwarfFDESymbolsUseAbsDiff = false |
True if DWARF FDE symbol reference relocations should be replaced by an absolute difference. | |
bool | UsesDwarfFileAndLocDirectives = true |
True if the target supports generating the DWARF line table through using the .loc/.file directives. | |
bool | EnableDwarfFileDirectoryDefault = true |
True if DWARF ‘.file directory’ directive syntax is used by default. | |
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. | |
bool | DwarfRegNumForCFI = false |
True if dwarf register numbers are printed instead of symbolic register names in .cfi_* directives. | |
bool | UseParensForSymbolVariant = false |
True if target uses parens to indicate the symbol variant instead of . | |
bool | UseParensForDollarSignNames = true |
True if the target uses parens for symbol names starting with '$' character to distinguish them from absolute names. | |
bool | SupportsExtendedDwarfLocDirective = true |
True if the target supports flags in ".loc" directive, false if only location is allowed. | |
std::vector< MCCFIInstruction > | InitialFrameState |
std::pair< int, int > | BinutilsVersion = {2, 26} |
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. | |
bool | ParseInlineAsmUsingAsmParser |
Use AsmParser to parse inlineAsm when UseIntegratedAssembler is not set. | |
bool | PreserveAsmComments |
Preserve Comments in assembly. | |
DebugCompressionType | CompressDebugSections = DebugCompressionType::None |
Compress DWARF debug sections. Defaults to no compression. | |
bool | UseLogicalShr = true |
True if the integrated assembler should interpret 'a >> b' constant expressions as logical rather than arithmetic. | |
bool | RelaxELFRelocations = true |
bool | HasMipsExpressions = false |
bool | UseMotorolaIntegers = false |
bool | NeedsFunctionDescriptors = false |
This class is intended to be used as a base class for asm properties and features specific to the target.
Definition at line 56 of file MCAsmInfo.h.
Assembly character literal syntax types.
Enumerator | |
---|---|
ACLS_Unknown | |
ACLS_SingleQuotePrefix | Unknown; character literals not used by LLVM for this target. |
Definition at line 59 of file MCAsmInfo.h.
|
explicit |
Definition at line 41 of file MCAsmInfo.cpp.
References AsciiDirective, AscizDirective, llvm::cl::BOU_TRUE, llvm::cl::BOU_UNSET, Code16Directive, Code32Directive, Code64Directive, CommentString, Data16bitsDirective, Data32bitsDirective, Data64bitsDirective, Data8bitsDirective, llvm::Default, DwarfExtendedLoc, llvm::Enable, GlobalDirective, HasLEB128Directives, InlineAsmEnd, InlineAsmStart, LabelSuffix, LinkerPrivateGlobalPrefix, ParseInlineAsmUsingAsmParser, PreserveAsmComments, PrivateGlobalPrefix, PrivateLabelPrefix, SeparatorString, SupportsExtendedDwarfLocDirective, UseIntegratedAssembler, llvm::UseLEB128Directives, WeakDirective, and ZeroDirective.
|
virtualdefault |
void MCAsmInfo::addInitialFrameState | ( | const MCCFIInstruction & | Inst | ) |
Definition at line 86 of file MCAsmInfo.cpp.
References InitialFrameState.
Referenced by createAArch64MCAsmInfo(), createARCMCAsmInfo(), createARMMCAsmInfo(), createCSKYMCAsmInfo(), createHexagonMCAsmInfo(), createLoongArchMCAsmInfo(), createM68kMCAsmInfo(), createMipsMCAsmInfo(), createMSP430MCAsmInfo(), createPPCMCAsmInfo(), createRISCVMCAsmInfo(), createSparcMCAsmInfo(), createSparcV9MCAsmInfo(), createSystemZMCAsmInfo(), createVEMCAsmInfo(), createX86MCAsmInfo(), and createXCoreMCAsmInfo().
|
inline |
Definition at line 763 of file MCAsmInfo.h.
References AvoidWeakIfComdat.
Referenced by llvm::AsmPrinter::emitLinkage().
|
inline |
Definition at line 847 of file MCAsmInfo.h.
References BinutilsVersion.
Referenced by calcUniqueIDUpdateFlagsAndSize(), llvm::AsmPrinter::emitPatchableFunctionEntries(), selectELFSectionForGlobal(), and selectExplicitSectionGlobal().
|
inline |
Definition at line 879 of file MCAsmInfo.h.
References RelaxELFRelocations.
Referenced by getRelocType32(), and getRelocType64().
|
inline |
Definition at line 721 of file MCAsmInfo.h.
References CharacterLiteralSyntax.
|
inline |
Definition at line 869 of file MCAsmInfo.h.
References CompressDebugSections.
|
inline |
Definition at line 807 of file MCAsmInfo.h.
References DwarfFDESymbolsUseAbsDiff.
Referenced by emitFDESymbol().
|
inline |
Definition at line 692 of file MCAsmInfo.h.
References AllowAtAtStartOfIdentifier.
Referenced by llvm::AsmLexer::LexToken().
|
inline |
Definition at line 687 of file MCAsmInfo.h.
References AllowAtInName.
Referenced by isAcceptableChar().
|
inline |
Definition at line 695 of file MCAsmInfo.h.
References AllowDollarAtStartOfIdentifier.
Referenced by llvm::AsmLexer::LexToken().
|
inline |
Definition at line 698 of file MCAsmInfo.h.
References AllowHashAtStartOfIdentifier.
Referenced by llvm::AsmLexer::LexToken().
|
inline |
Definition at line 689 of file MCAsmInfo.h.
References AllowQuestionAtStartOfIdentifier.
Referenced by llvm::AsmLexer::LexToken().
|
inline |
Definition at line 803 of file MCAsmInfo.h.
References DwarfUsesRelocationsAcrossSections.
Referenced by llvm::AsmPrinter::AsmPrinter(), llvm::MCGenDwarfInfo::Emit(), and llvm::MCDwarfLineStr::MCDwarfLineStr().
|
inline |
Definition at line 728 of file MCAsmInfo.h.
References SetDirectiveSuppressesReloc.
Referenced by llvm::MCStreamer::emitAbsoluteSymbolDiff(), and llvm::AsmPrinter::emitJumpTableInfo().
|
inline |
Definition at line 703 of file MCAsmInfo.h.
References UseDataRegionDirectives.
|
inline |
Definition at line 779 of file MCAsmInfo.h.
References SupportsDebugInformation.
Referenced by llvm::AsmPrinter::doInitialization().
|
inline |
Definition at line 788 of file MCAsmInfo.h.
References UsesCFIForDebug.
Referenced by llvm::AsmPrinter::needsCFIForDebug().
|
inline |
Definition at line 714 of file MCAsmInfo.h.
References ZeroDirectiveSupportsNonZeroValue.
|
inline |
Definition at line 825 of file MCAsmInfo.h.
References EnableDwarfFileDirectoryDefault.
Referenced by llvm::LLVMTargetMachine::createMCStreamer().
|
inline |
Definition at line 724 of file MCAsmInfo.h.
References AlignmentIsInBytes.
Definition at line 717 of file MCAsmInfo.h.
References AsciiDirective.
Definition at line 718 of file MCAsmInfo.h.
References AscizDirective.
|
inline |
Definition at line 686 of file MCAsmInfo.h.
References AssemblerDialect.
Referenced by llvm::LLVMTargetMachine::createMCStreamer(), LLVMSetDisasmOptions(), llvm::logicalview::LVBinaryReader::loadGenericTargetInfo(), llvm::SystemZInstPrinter::printFormattedRegName(), printFormattedRegName(), and llvm::X86MCExpr::printImpl().
Definition at line 719 of file MCAsmInfo.h.
References ByteListDirective.
|
inline |
Get the callee-saved register stack slot size in bytes.
Definition at line 554 of file MCAsmInfo.h.
References CalleeSaveStackSlotSize.
Referenced by getDataAlignmentFactor().
Definition at line 683 of file MCAsmInfo.h.
References Code16Directive.
Definition at line 684 of file MCAsmInfo.h.
References Code32Directive.
Definition at line 685 of file MCAsmInfo.h.
References Code64Directive.
|
inline |
Get the code pointer size in bytes.
Definition at line 550 of file MCAsmInfo.h.
References CodePointerSize.
Referenced by llvm::DwarfCompileUnit::addLocationAttribute(), llvm::AsmPrinter::doFinalization(), llvm::MCDwarfFrameEmitter::Emit(), llvm::MCDwarfLineTableHeader::Emit(), llvm::DwarfUnit::emitCommonHeader(), llvm::DwarfDebug::emitDebugLocEntry(), llvm::MCObjectStreamer::emitDwarfLineEndEntry(), llvm::X86AsmPrinter::emitEndOfAsmFile(), llvm::EHStreamer::emitExceptionTable(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), emitGenDwarfRanges(), llvm::mcdwarf::emitListsTableHeaderStart(), llvm::MCDwarfLineTable::emitOne(), llvm::AsmPrinter::emitXRayTable(), llvm::AsmPrinter::getDwarfFormParams(), getSizeForEncoding(), llvm::AsmPrinter::GetSizeOfEncodedValue(), and llvm::X86InstPrinterCommon::printPCRelImm().
|
inline |
Definition at line 734 of file MCAsmInfo.h.
References COMMDirectiveAlignmentIsInBytes.
|
inline |
This indicates the column (zero-based) at which asm comments should be printed.
Definition at line 653 of file MCAsmInfo.h.
Referenced by emitComments().
|
inline |
Definition at line 655 of file MCAsmInfo.h.
References CommentString.
Referenced by llvm::AsmLexer::AsmLexer(), emitComments(), getGNUBinOpPrecedence(), llvm::HexagonInstrInfo::getInlineAsmLength(), isAsmComment(), llvm::MCInstPrinter::printAnnotation(), llvm::AArch64InstPrinter::printInst(), llvm::AsmPrinter::PrintSpecial(), llvm::MCSectionELF::printSwitchToSection(), and llvm::MCSectionWasm::printSwitchToSection().
Definition at line 569 of file MCAsmInfo.h.
References Data16bitsDirective.
Definition at line 570 of file MCAsmInfo.h.
References Data32bitsDirective.
Definition at line 571 of file MCAsmInfo.h.
References Data64bitsDirective.
Definition at line 568 of file MCAsmInfo.h.
References Data8bitsDirective.
Referenced by llvm::MCTargetStreamer::emitRawBytes(), and llvm::NVPTXTargetStreamer::emitRawBytes().
|
inline |
Definition at line 646 of file MCAsmInfo.h.
References DollarIsPC.
|
inline |
Definition at line 647 of file MCAsmInfo.h.
References DotIsPC.
Definition at line 576 of file MCAsmInfo.h.
References DTPRel32Directive.
Definition at line 575 of file MCAsmInfo.h.
References DTPRel64Directive.
|
inline |
Definition at line 660 of file MCAsmInfo.h.
References EmitGNUAsmStartIndentationMarker.
Referenced by EmitInlineAsmStr().
|
inline |
Definition at line 781 of file MCAsmInfo.h.
References ExceptionsType.
Referenced by llvm::TargetPassConfig::addPassesToHandleExceptions(), llvm::CodeGenPassBuilder< DerivedT >::addPassesToHandleExceptions(), llvm::DwarfCFIException::beginFunction(), llvm::ARMException::beginFunction(), llvm::EHStreamer::computeCallSiteTable(), llvm::AsmPrinter::doInitialization(), llvm::AsmPrinter::emitBasicBlockStart(), llvm::AsmPrinter::emitCFIInstruction(), llvm::EHStreamer::emitExceptionTable(), llvm::ARMException::endFunction(), llvm::AsmPrinter::getFunctionCFISectionType(), llvm::ARMElfTargetObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileELF::Initialize(), llvm::AsmPrinter::needsCFIForDebug(), and llvm::WebAssemblyFrameLowering::needsPrologForEH().
|
inline |
Definition at line 767 of file MCAsmInfo.h.
References ExportedVisibilityAttr.
|
virtual |
Reimplemented in llvm::RISCVMCAsmInfo, and llvm::SparcELFMCAsmInfo.
Definition at line 102 of file MCAsmInfo.cpp.
References Context, llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::createSub(), llvm::dwarf::DW_EH_PE_pcrel, llvm::MCStreamer::emitLabel(), llvm::MCStreamer::getContext(), and Sym.
Referenced by emitFDESymbol(), llvm::RISCVMCAsmInfo::getExprForFDESymbol(), llvm::SparcELFMCAsmInfo::getExprForFDESymbol(), and getExprForPersonalitySymbol().
|
virtual |
Reimplemented in llvm::AArch64MCAsmInfoDarwin, llvm::SparcELFMCAsmInfo, and llvm::X86_64MCAsmInfoDarwin.
Definition at line 95 of file MCAsmInfo.cpp.
References getExprForFDESymbol(), and Sym.
Referenced by EmitPersonality(), and llvm::SparcELFMCAsmInfo::getExprForPersonalitySymbol().
Definition at line 726 of file MCAsmInfo.h.
References GlobalDirective.
Definition at line 574 of file MCAsmInfo.h.
References GPRel32Directive.
Definition at line 573 of file MCAsmInfo.h.
References GPRel64Directive.
|
inline |
Definition at line 769 of file MCAsmInfo.h.
References HiddenDeclarationVisibilityAttr.
Referenced by llvm::AsmPrinter::emitVisibility().
|
inline |
Definition at line 765 of file MCAsmInfo.h.
References HiddenVisibilityAttr.
Referenced by llvm::AsmPrinter::emitVisibility().
|
inline |
Definition at line 831 of file MCAsmInfo.h.
References InitialFrameState.
Referenced by llvm::MCStreamer::emitCFIStartProc().
Definition at line 682 of file MCAsmInfo.h.
References InlineAsmEnd.
Definition at line 681 of file MCAsmInfo.h.
References InlineAsmStart.
Definition at line 663 of file MCAsmInfo.h.
References LabelSuffix.
|
inline |
Definition at line 738 of file MCAsmInfo.h.
References LCOMMDirectiveAlignmentType.
Referenced by llvm::AsmPrinter::emitGlobalVariable().
|
inline |
Definition at line 675 of file MCAsmInfo.h.
References getPrivateGlobalPrefix(), hasLinkerPrivateGlobalPrefix(), and LinkerPrivateGlobalPrefix.
Referenced by llvm::MCContext::createLinkerPrivateTempSymbol().
|
inlinevirtual |
Returns the maximum possible encoded instruction size in bytes.
If STI
is null, this should be the maximum size for any subtarget.
Reimplemented in llvm::AMDGPUMCAsmInfo.
Definition at line 641 of file MCAsmInfo.h.
References MaxInstLength.
Referenced by llvm::TargetInstrInfo::getInlineAsmLength(), and llvm::HexagonInstrInfo::getInlineAsmLength().
|
inline |
Definition at line 777 of file MCAsmInfo.h.
References MemtagAttr.
Referenced by llvm::AsmPrinter::emitGlobalVariable().
|
inline |
Definition at line 645 of file MCAsmInfo.h.
References MinInstAlignment.
Referenced by llvm::MCDwarfLineTableHeader::Emit(), and llvm::RISCVAsmBackend::relaxDwarfCFA().
|
inlinevirtual |
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.
Definition at line 583 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::doFinalization(), and llvm::MCELFStreamer::initSections().
Definition at line 720 of file MCAsmInfo.h.
References PlainStringDirective.
|
inline |
Definition at line 668 of file MCAsmInfo.h.
References PrivateGlobalPrefix.
Referenced by llvm::MCContext::createNamedTempSymbol(), llvm::MCContext::createTempSymbol(), llvm::CSKYAsmPrinter::emitMachineConstantPoolValue(), llvm::LanaiMCInstLower::GetConstantPoolIndexSymbol(), llvm::MCStreamer::getDwarfLineTableSymbol(), llvm::LanaiMCInstLower::GetJumpTableSymbol(), getLinkerPrivateGlobalPrefix(), llvm::MCContext::getOrCreateFrameAllocSymbol(), llvm::MCContext::getOrCreateLSDASymbol(), and llvm::MCContext::getOrCreateParentFrameOffsetSymbol().
|
inline |
Definition at line 669 of file MCAsmInfo.h.
References PrivateLabelPrefix.
Referenced by llvm::MachineBasicBlock::getEndSymbol(), llvm::MachineBasicBlock::getSymbol(), and llvm::MCSectionXCOFF::printSwitchToSection().
|
inline |
Definition at line 773 of file MCAsmInfo.h.
References ProtectedVisibilityAttr.
Referenced by llvm::AsmPrinter::emitVisibility().
|
inline |
Definition at line 656 of file MCAsmInfo.h.
References RestrictCommentStringToStartOfStatement.
Definition at line 649 of file MCAsmInfo.h.
References SeparatorString.
Referenced by llvm::TargetInstrInfo::getInlineAsmLength(), llvm::HexagonInstrInfo::getInlineAsmLength(), and llvm::AsmLexer::LexToken().
|
inline |
Definition at line 648 of file MCAsmInfo.h.
References StarIsPC.
|
inline |
Definition at line 725 of file MCAsmInfo.h.
References TextAlignFillValue.
Definition at line 578 of file MCAsmInfo.h.
References TPRel32Directive.
Definition at line 577 of file MCAsmInfo.h.
References TPRel64Directive.
Definition at line 755 of file MCAsmInfo.h.
References WeakDirective.
Definition at line 756 of file MCAsmInfo.h.
References WeakRefDirective.
Referenced by llvm::AsmPrinter::doFinalization().
|
inline |
Definition at line 782 of file MCAsmInfo.h.
References WinEHEncodingType.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 713 of file MCAsmInfo.h.
References ZeroDirective.
|
inline |
Definition at line 732 of file MCAsmInfo.h.
References HasAggressiveSymbolFolding.
|
inline |
Definition at line 754 of file MCAsmInfo.h.
References HasAltEntry.
|
inline |
Definition at line 742 of file MCAsmInfo.h.
References HasBasenameOnlyForFileDirective.
Referenced by llvm::AsmPrinter::doInitialization().
|
inline |
Definition at line 633 of file MCAsmInfo.h.
References HasCOFFAssociativeComdats.
|
inline |
Definition at line 634 of file MCAsmInfo.h.
References HasCOFFComdatConstants.
|
inline |
Definition at line 749 of file MCAsmInfo.h.
References HasDotTypeDotSizeDirective.
Referenced by llvm::AsmPrinter::emitFunctionBody(), llvm::AsmPrinter::emitFunctionEntryLabel(), llvm::AsmPrinter::emitGlobalVariable(), and llvm::X86AsmPrinter::emitKCFITypeId().
|
inline |
Definition at line 751 of file MCAsmInfo.h.
References HasFourStringsDotFile.
Referenced by llvm::AsmPrinter::doInitialization().
|
inline |
Definition at line 748 of file MCAsmInfo.h.
References HasFunctionAlignment.
|
inline |
Definition at line 752 of file MCAsmInfo.h.
References HasIdentDirective.
|
inline |
Definition at line 711 of file MCAsmInfo.h.
References HasLEB128Directives.
Referenced by llvm::EHStreamer::emitExceptionTable().
|
inline |
Definition at line 671 of file MCAsmInfo.h.
References llvm::StringRef::empty(), and LinkerPrivateGlobalPrefix.
Referenced by getLinkerPrivateGlobalPrefix().
|
inline |
Definition at line 632 of file MCAsmInfo.h.
References HasMachoTBSSDirective.
Referenced by llvm::AsmPrinter::emitGlobalVariable().
|
inline |
Definition at line 631 of file MCAsmInfo.h.
References HasMachoZeroFillDirective.
Referenced by llvm::AsmPrinter::emitGlobalVariable().
|
inline |
Definition at line 881 of file MCAsmInfo.h.
References HasMipsExpressions.
Referenced by llvm::AsmLexer::LexToken().
|
inline |
Definition at line 753 of file MCAsmInfo.h.
References HasNoDeadStrip.
Referenced by llvm::AsmPrinter::emitSpecialLLVMGlobal().
|
inline |
Definition at line 745 of file MCAsmInfo.h.
References HasPairedDoubleQuoteStringConstants.
|
inline |
Definition at line 750 of file MCAsmInfo.h.
References HasSingleParameterDotFile.
Referenced by llvm::AsmPrinter::doInitialization().
|
inline |
Definition at line 564 of file MCAsmInfo.h.
References HasSubsectionsViaSymbols.
Referenced by llvm::AsmPrinter::emitFunctionBody(), and llvm::AsmPrinter::emitGlobalConstant().
|
inline |
Definition at line 635 of file MCAsmInfo.h.
References HasVisibilityOnlyWithLinkage.
|
inline |
Definition at line 759 of file MCAsmInfo.h.
References HasWeakDefCanBeHiddenDirective.
Referenced by canBeHidden().
|
inline |
Definition at line 757 of file MCAsmInfo.h.
References HasWeakDefDirective.
Referenced by llvm::AsmPrinter::emitLinkage().
Return true if C is an acceptable character inside a symbol name.
Reimplemented in llvm::MCAsmInfoXCOFF, and llvm::SystemZMCAsmInfoGOFF.
Definition at line 116 of file MCAsmInfo.cpp.
References llvm::CallingConv::C, and doesAllowAtInName().
Referenced by llvm::SystemZMCAsmInfoGOFF::isAcceptableChar(), and isValidUnquotedName().
|
inline |
True if the target is little endian.
Definition at line 559 of file MCAsmInfo.h.
References IsLittleEndian.
Referenced by llvm::ARMTargetStreamer::emitInst(), and llvm::MCStreamer::emitIntValue().
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).
Reimplemented in llvm::MCAsmInfoDarwin.
Definition at line 90 of file MCAsmInfo.cpp.
Referenced by canUsePrivateLabel().
|
inline |
True if target stack grow up.
Definition at line 562 of file MCAsmInfo.h.
References StackGrowsUp.
Referenced by getDataAlignmentFactor().
Return true if the identifier Name
does not need quotes to be syntactically correct.
Definition at line 123 of file MCAsmInfo.cpp.
References llvm::CallingConv::C, isAcceptableChar(), and Name.
Referenced by llvm::MCSymbol::print().
|
inline |
Definition at line 625 of file MCAsmInfo.h.
References NeedsDwarfSectionOffsetDirective.
Referenced by llvm::AsmPrinter::emitDwarfSymbolReference(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), and llvm::AsmPrinter::emitLabelPlusOffset().
|
inline |
Definition at line 821 of file MCAsmInfo.h.
References DwarfSectionSizeRequired.
|
inline |
Definition at line 882 of file MCAsmInfo.h.
References NeedsFunctionDescriptors.
Referenced by llvm::AsmPrinter::SetupMachineFunction().
|
inline |
Definition at line 667 of file MCAsmInfo.h.
References NeedsLocalForSize.
Referenced by llvm::AsmPrinter::SetupMachineFunction().
|
inline |
Return true if target want to use AsmParser to parse inlineasm.
Definition at line 843 of file MCAsmInfo.h.
References ParseInlineAsmUsingAsmParser.
|
inline |
Return true if assembly (inline or otherwise) should be parsed.
Definition at line 862 of file MCAsmInfo.h.
References PreserveAsmComments.
|
inline |
Definition at line 688 of file MCAsmInfo.h.
References AllowAtInName.
|
inline |
Definition at line 835 of file MCAsmInfo.h.
References BinutilsVersion.
Referenced by llvm::LLVMTargetMachine::initAsmInfo().
|
inline |
Definition at line 873 of file MCAsmInfo.h.
References CompressDebugSections.
Referenced by llvm::LLVMTargetMachine::initAsmInfo().
|
inline |
Definition at line 784 of file MCAsmInfo.h.
References ExceptionsType.
Referenced by llvm::LLVMTargetMachine::initAsmInfo().
|
inlinevirtual |
Set whether target want to use AsmParser to parse inlineasm.
Definition at line 857 of file MCAsmInfo.h.
References ParseInlineAsmUsingAsmParser.
Referenced by llvm::LLVMTargetMachine::initAsmInfo().
|
inlinevirtual |
Set whether assembly (inline or otherwise) should be parsed.
Definition at line 865 of file MCAsmInfo.h.
References PreserveAsmComments.
Referenced by llvm::LLVMTargetMachine::initAsmInfo().
|
inline |
Definition at line 880 of file MCAsmInfo.h.
References RelaxELFRelocations.
Referenced by llvm::LLVMTargetMachine::initAsmInfo().
|
inlinevirtual |
Set whether assembly (inline or otherwise) should be parsed.
Reimplemented in llvm::ARMELFMCAsmInfo.
Definition at line 852 of file MCAsmInfo.h.
References UseIntegratedAssembler.
Referenced by llvm::LLVMTargetMachine::initAsmInfo().
|
inline |
Definition at line 659 of file MCAsmInfo.h.
References AllowAdditionalComments.
Referenced by llvm::AsmLexer::LexToken().
|
inline |
Definition at line 664 of file MCAsmInfo.h.
References EmitLabelsInUpperCase.
Return true if the .section directive should be omitted when emitting SectionName
.
For example:
shouldOmitSectionDirective(".text")
returns false => .section .text,#alloc,#execinstr returns true => .text
Reimplemented in llvm::AMDGPUMCAsmInfo, llvm::NVPTXMCAsmInfo, and llvm::SPIRVMCAsmInfo.
Definition at line 137 of file MCAsmInfo.cpp.
References usesELFSectionDirectiveForBSS().
Referenced by llvm::MCSectionELF::shouldOmitSectionDirective(), llvm::MCSectionWasm::shouldOmitSectionDirective(), and llvm::AMDGPUMCAsmInfo::shouldOmitSectionDirective().
|
inline |
Definition at line 877 of file MCAsmInfo.h.
References UseLogicalShr.
|
inline |
Definition at line 883 of file MCAsmInfo.h.
References UseMotorolaIntegers.
Referenced by llvm::AsmLexer::AsmLexer().
|
inline |
Definition at line 813 of file MCAsmInfo.h.
References SupportsExtendedDwarfLocDirective.
|
inline |
Definition at line 701 of file MCAsmInfo.h.
References SupportsQuotedNames.
Referenced by llvm::MCSymbol::print().
|
inline |
Definition at line 572 of file MCAsmInfo.h.
References SupportsSignedData.
|
inline |
Definition at line 666 of file MCAsmInfo.h.
References UseAssignmentForEHBegin.
|
inline |
Definition at line 707 of file MCAsmInfo.h.
References UseDotAlignForAlignment.
|
inline |
Definition at line 808 of file MCAsmInfo.h.
References DwarfRegNumForCFI.
|
inline |
Return true if assembly (inline or otherwise) should be parsed.
Definition at line 840 of file MCAsmInfo.h.
References UseIntegratedAssembler.
Referenced by calcUniqueIDUpdateFlagsAndSize(), llvm::AsmPrinter::emitPatchableFunctionEntries(), selectELFSectionForGlobal(), and selectExplicitSectionGlobal().
|
inline |
Definition at line 810 of file MCAsmInfo.h.
References UseParensForDollarSignNames.
Referenced by llvm::MCExpr::print().
|
inline |
Definition at line 809 of file MCAsmInfo.h.
References UseParensForSymbolVariant.
Referenced by llvm::MCExpr::print().
|
inline |
Returns true if the exception handling method for the platform uses call frame information to unwind.
Definition at line 792 of file MCAsmInfo.h.
References llvm::ARM, llvm::DwarfCFI, ExceptionsType, and usesWindowsCFI().
Referenced by llvm::DwarfCFIException::beginFunction(), llvm::EHStreamer::computeCallSiteTable(), and llvm::DwarfCFIException::endModule().
|
inline |
Definition at line 817 of file MCAsmInfo.h.
References UsesDwarfFileAndLocDirectives.
|
inline |
Definition at line 621 of file MCAsmInfo.h.
References UsesELFSectionDirectiveForBSS.
Referenced by shouldOmitSectionDirective().
|
inline |
Definition at line 617 of file MCAsmInfo.h.
References SunStyleELFSectionSwitchSyntax.
Referenced by llvm::MCSectionELF::printSwitchToSection().
|
inline |
Definition at line 797 of file MCAsmInfo.h.
References ExceptionsType, llvm::WinEH::Invalid, llvm::WinEH, WinEHEncodingType, and llvm::WinEH::X86.
Referenced by llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::WinException::beginFunction(), llvm::X86FrameLowering::canUseLEAForSPInEpilogue(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::emitEpilogue(), llvm::MCStreamer::emitWinCFIStartProc(), llvm::TargetFrameLowering::enableCFIFixup(), llvm::MCStreamer::EnsureValidWinFrameInfo(), ExpandMOVImmSExti8(), llvm::X86FrameLowering::getFrameIndexReference(), llvm::AArch64InstrInfo::isCandidateToMergeOrPair(), llvm::AArch64InstrInfo::isFunctionSafeToOutlineFrom(), llvm::AArch64FunctionInfo::needsDwarfUnwindInfo(), llvm::AsmPrinter::needsSEHMoves(), needsWinCFI(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), llvm::ARMSubtarget::splitFramePointerPush(), and usesCFIForEH().
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.
Definition at line 329 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::CSKYMCAsmInfo::CSKYMCAsmInfo(), getAlignmentIsInBytes(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
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.
Definition at line 147 of file MCAsmInfo.h.
Referenced by shouldAllowAdditionalComments(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().
|
protected |
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.
Definition at line 218 of file MCAsmInfo.h.
Referenced by doesAllowAtAtStartOfIdentifier(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().
|
protected |
This is true if the assembler allows @ characters in symbol names.
Defaults to false.
Definition at line 197 of file MCAsmInfo.h.
Referenced by llvm::ARCMCAsmInfo::ARCMCAsmInfo(), doesAllowAtInName(), setAllowAtInName(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().
|
protected |
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.
Definition at line 211 of file MCAsmInfo.h.
Referenced by doesAllowDollarAtStartOfIdentifier(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().
|
protected |
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.
Definition at line 225 of file MCAsmInfo.h.
Referenced by doesAllowHashAtStartOfIdentifier(), and llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF().
|
protected |
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.
Definition at line 204 of file MCAsmInfo.h.
Referenced by doesAllowQuestionAtStartOfIdentifier(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().
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"
Definition at line 259 of file MCAsmInfo.h.
Referenced by getAsciiDirective(), MCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().
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"
Definition at line 264 of file MCAsmInfo.h.
Referenced by getAscizDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
|
protected |
Which dialect of an assembler variant to use. Defaults to 0.
Definition at line 193 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), getAssemblerDialect(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().
|
protected |
True if we should mark symbols as global instead of weak, for weak*/linkonce*, if the symbol has a comdat.
Defaults to false.
Definition at line 427 of file MCAsmInfo.h.
Referenced by avoidWeakIfComdat(), and llvm::MCAsmInfoCOFF::MCAsmInfoCOFF().
|
protected |
Definition at line 509 of file MCAsmInfo.h.
Referenced by binutilsIsAtLeast(), and setBinutilsVersion().
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.
Definition at line 269 of file MCAsmInfo.h.
Referenced by getByteListDirective(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().
|
protected |
Size of the stack slot reserved for callee-saved registers, in bytes.
Default is same as pointer size.
Definition at line 76 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), getCalleeSaveStackSlotSize(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
|
protected |
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.
Definition at line 279 of file MCAsmInfo.h.
Referenced by characterLiteralSyntax(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().
These are assembly directives that tells the assembler to interpret the following instructions differently.
Defaults to ".code16", ".code32", ".code64".
Definition at line 188 of file MCAsmInfo.h.
Referenced by llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), getCode16Directive(), and MCAsmInfo().
Definition at line 189 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), getCode32Directive(), and MCAsmInfo().
Definition at line 190 of file MCAsmInfo.h.
Referenced by getCode64Directive(), and MCAsmInfo().
|
protected |
Code pointer size in bytes. Default is 4.
Definition at line 72 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), getCodePointerSize(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
True is .comm's and .lcomms optional alignment is to be specified in bytes instead of log2(n).
Defaults to true.
Definition at line 365 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getCOMMDirectiveAlignmentIsInBytes(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), and llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo().
|
protected |
This indicates the comment string used by the assembler.
Defaults to "#"
Definition at line 135 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), llvm::CSKYMCAsmInfo::CSKYMCAsmInfo(), getCommentString(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), MCAsmInfo(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM(), llvm::XCoreMCAsmInfo::XCoreMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
|
protected |
Compress DWARF debug sections. Defaults to no compression.
Definition at line 525 of file MCAsmInfo.h.
Referenced by compressDebugSections(), and setCompressDebugSections().
Definition at line 286 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), getData16bitsDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
Definition at line 287 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), getData32bitsDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
Definition at line 288 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), getData64bitsDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::XCoreMCAsmInfo::XCoreMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
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"
Definition at line 285 of file MCAsmInfo.h.
Referenced by getData8bitsDirective(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), and llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo().
|
protected |
The '$' token, when not referencing an identifier or constant, refers to the current PC.
Defaults to false.
Definition at line 119 of file MCAsmInfo.h.
Referenced by getDollarIsPC(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().
Allow '.
' token, when not referencing an identifier or constant, to refer to the current PC. Defaults to true.
Definition at line 123 of file MCAsmInfo.h.
Referenced by getDotIsPC(), and llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF().
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.
Definition at line 306 of file MCAsmInfo.h.
Referenced by getDTPRel32Directive(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().
Definition at line 307 of file MCAsmInfo.h.
Referenced by getDTPRel64Directive(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().
|
protected |
True if DWARF FDE symbol reference relocations should be replaced by an absolute difference.
Definition at line 469 of file MCAsmInfo.h.
Referenced by doDwarfFDESymbolsUseAbsDiff(), and llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().
|
protected |
True if dwarf register numbers are printed instead of symbolic register names in .cfi_* directives.
Defaults to false.
Definition at line 485 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::ARMELFMCAsmInfo::setUseIntegratedAssembler(), useDwarfRegNumForCFI(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
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.
Definition at line 481 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), and needsDwarfSectionSizeInHeader().
True if Dwarf2 output generally uses relocations for references to other .debug_* sections.
Definition at line 465 of file MCAsmInfo.h.
Referenced by doesDwarfUseRelocationsAcrossSections(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::BPFMCAsmInfo::setDwarfUsesRelocationsAcrossSections().
Should we emit the '\t' as the starting indentation marker for GNU inline asm statements.
Defaults to true.
Definition at line 151 of file MCAsmInfo.h.
Referenced by getEmitGNUAsmStartIndentationMarker(), and llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF().
|
protected |
Emit labels in purely upper case. Defaults to false.
Definition at line 157 of file MCAsmInfo.h.
Referenced by shouldEmitLabelsInUpperCase(), and llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF().
True if DWARF ‘.file directory’ directive syntax is used by default.
Definition at line 477 of file MCAsmInfo.h.
Referenced by enableDwarfFileDirectoryDefault(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().
|
protected |
Exception handling format for the target. Defaults to None.
Definition at line 454 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), llvm::CSKYMCAsmInfo::CSKYMCAsmInfo(), getExceptionHandlingType(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), setExceptionsType(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), usesCFIForEH(), usesWindowsCFI(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft(), llvm::XCoreMCAsmInfo::XCoreMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
|
protected |
This attribute, if not MCSA_Invalid, is used to declare a symbol as having exported visibility.
Defaults to MCSA_Exported.
Definition at line 435 of file MCAsmInfo.h.
Referenced by getExportedVisibilityAttr().
This is the directive used to declare a global entity.
Defaults to ".globl".
Definition at line 339 of file MCAsmInfo.h.
Referenced by getGlobalDirective(), MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
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.
Definition at line 301 of file MCAsmInfo.h.
Referenced by getGPRel32Directive(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().
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.
Definition at line 296 of file MCAsmInfo.h.
Referenced by getGPRel64Directive(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().
False if the assembler requires that we use.
instead of
Defaults to true.
Definition at line 361 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), hasAggressiveSymbolFolding(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().
|
protected |
True if this target supports the MachO .alt_entry directive.
Defaults to false.
Definition at line 407 of file MCAsmInfo.h.
Referenced by hasAltEntry(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().
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.
Definition at line 373 of file MCAsmInfo.h.
Referenced by hasBasenameOnlyForFileDirective(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().
|
protected |
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.
Definition at line 99 of file MCAsmInfo.h.
Referenced by hasCOFFAssociativeComdats(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), and llvm::MCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF().
|
protected |
True if this is a non-GNU COFF target.
For GNU targets, we don't generate constants into comdat sections.
Definition at line 103 of file MCAsmInfo.h.
Referenced by hasCOFFComdatConstants(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), and llvm::MCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF().
True if the target has .type and .size directives, this is true for most ELF targets.
Defaults to true.
Definition at line 387 of file MCAsmInfo.h.
Referenced by llvm::BPFMCAsmInfo::BPFMCAsmInfo(), hasDotTypeDotSizeDirective(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo().
|
protected |
True if the target has a four strings .file directive, strings seperated by comma.
Defaults to false.
Definition at line 395 of file MCAsmInfo.h.
Referenced by hasFourStringsDotFile(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().
Definition at line 383 of file MCAsmInfo.h.
Referenced by hasFunctionAlignment(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo().
|
protected |
True if the target has a .ident directive, this is true for ELF targets.
Defaults to false.
Definition at line 399 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), hasIdentDirective(), llvm::MCAsmInfoELF::MCAsmInfoELF(), and llvm::MCAsmInfoWasm::MCAsmInfoWasm().
True if the target supports LEB128 directives.
Definition at line 241 of file MCAsmInfo.h.
Referenced by hasLEB128Directives(), MCAsmInfo(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().
|
protected |
True if this is a MachO target that supports the macho-specific .tbss directive for emitting thread local BSS Symbols.
Default is false.
Definition at line 94 of file MCAsmInfo.h.
Referenced by hasMachoTBSSDirective(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().
|
protected |
True if this is a MachO target that supports the macho-specific .zerofill directive for emitting BSS Symbols.
Default is false.
Definition at line 90 of file MCAsmInfo.h.
Referenced by hasMachoZeroFillDirective(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().
|
protected |
Definition at line 537 of file MCAsmInfo.h.
Referenced by hasMipsExpressions(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().
|
protected |
True if this target supports the MachO .no_dead_strip directive.
Defaults to false.
Definition at line 403 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), hasNoDeadStrip(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::MCAsmInfoWasm::MCAsmInfoWasm().
|
protected |
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.
Definition at line 379 of file MCAsmInfo.h.
Referenced by hasPairedDoubleQuoteStringConstants(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().
True if the target has a single parameter .file directive, this is true for ELF targets.
Defaults to true.
Definition at line 391 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), hasSingleParameterDotFile(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo().
|
protected |
True if this target has the MachO .subsections_via_symbols directive.
Default is false.
Definition at line 86 of file MCAsmInfo.h.
Referenced by hasSubsectionsViaSymbols(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().
|
protected |
True if this is an XCOFF target that supports visibility attributes as part of .global, .weak, .extern, and .comm.
Default is false.
Definition at line 107 of file MCAsmInfo.h.
Referenced by hasVisibilityOnlyWithLinkage(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().
|
protected |
True if we have a directive to declare a global as being a weak defined symbol that can be hidden (unexported).
Defaults to false.
Definition at line 422 of file MCAsmInfo.h.
Referenced by hasWeakDefCanBeHiddenDirective(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().
|
protected |
True if we have a directive to declare a global as being a weak defined symbol.
Defaults to false.
Definition at line 418 of file MCAsmInfo.h.
Referenced by hasWeakDefDirective(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().
|
protected |
This attribute, if not MCSA_Invalid, is used to declare an undefined symbol as having hidden visibility.
Defaults to MCSA_Hidden.
Definition at line 439 of file MCAsmInfo.h.
Referenced by llvm::ARCMCAsmInfo::ARCMCAsmInfo(), getHiddenDeclarationVisibilityAttr(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
|
protected |
This attribute, if not MCSA_Invalid, is used to declare a symbol as having hidden visibility.
Defaults to MCSA_Hidden.
Definition at line 431 of file MCAsmInfo.h.
Referenced by llvm::ARCMCAsmInfo::ARCMCAsmInfo(), getHiddenVisibilityAttr(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
|
protected |
Definition at line 501 of file MCAsmInfo.h.
Referenced by addInitialFrameState(), and getInitialFrameState().
Definition at line 183 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getInlineAsmEnd(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().
If these are nonempty, they contain a directive to emit before and after an inline assembly statement.
Defaults to "#APP\n", "#NO_APP\n"
Definition at line 182 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getInlineAsmStart(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().
True if target is little endian. Default is true.
Definition at line 79 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), isLittleEndian(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), and llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF().
This is appended to emitted labels. Defaults to ":".
Definition at line 154 of file MCAsmInfo.h.
Referenced by getLabelSuffix(), and MCAsmInfo().
|
protected |
Describes if the .lcomm directive for the target supports an alignment argument and how it is interpreted.
Defaults to NoAlignment.
Definition at line 369 of file MCAsmInfo.h.
Referenced by getLCOMMDirectiveAlignmentType(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), and llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo().
|
protected |
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 "".
Definition at line 178 of file MCAsmInfo.h.
Referenced by getLinkerPrivateGlobalPrefix(), hasLinkerPrivateGlobalPrefix(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().
|
protected |
This is the maximum possible length of an instruction, which is needed to compute the size of an inline asm.
Defaults to 4.
Definition at line 111 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::AMDGPUMCAsmInfo::getMaxInstLength(), getMaxInstLength(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), and llvm::VEELFMCAsmInfo::VEELFMCAsmInfo().
|
protected |
Definition at line 445 of file MCAsmInfo.h.
Referenced by getMemtagAttr().
|
protected |
Every possible instruction length is a multiple of this value.
Factored out in .debug_frame and .debug_line. Defaults to 1.
Definition at line 115 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), getMinInstAlignment(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo(), and llvm::VEELFMCAsmInfo::VEELFMCAsmInfo().
|
protected |
Definition at line 321 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), and needsDwarfSectionOffsetDirective().
|
protected |
Definition at line 543 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), and needsFunctionDescriptors().
|
protected |
Definition at line 163 of file MCAsmInfo.h.
Referenced by needsLocalForSize(), and llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo().
|
protected |
Use AsmParser to parse inlineAsm when UseIntegratedAssembler is not set.
Definition at line 519 of file MCAsmInfo.h.
Referenced by MCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), parseInlineAsmUsingAsmParser(), and setParseInlineAsmUsingAsmParser().
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.
Definition at line 274 of file MCAsmInfo.h.
Referenced by getPlainStringDirective(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().
|
protected |
Preserve Comments in assembly.
Definition at line 522 of file MCAsmInfo.h.
Referenced by MCAsmInfo(), preserveAsmComments(), and setPreserveAsmComments().
|
protected |
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"
Definition at line 168 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), getPrivateGlobalPrefix(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoELF::MCAsmInfoELF(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MCAsmInfoWasm::MCAsmInfoWasm(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
|
protected |
This prefix is used for labels for basic blocks.
Defaults to the same as PrivateGlobalPrefix.
Definition at line 172 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), getPrivateLabelPrefix(), MCAsmInfo(), llvm::MCAsmInfoELF::MCAsmInfoELF(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MCAsmInfoWasm::MCAsmInfoWasm(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().
|
protected |
This attribute, if not MCSA_Invalid, is used to declare a symbol as having protected visibility.
Defaults to MCSA_Protected
Definition at line 443 of file MCAsmInfo.h.
Referenced by llvm::ARCMCAsmInfo::ARCMCAsmInfo(), getProtectedVisibilityAttr(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
Definition at line 533 of file MCAsmInfo.h.
Referenced by canRelaxRelocations(), and setRelaxELFRelocations().
|
protected |
This indicates whether the comment string is only accepted as a comment at the beginning of statements.
Defaults to false.
Definition at line 139 of file MCAsmInfo.h.
Referenced by getRestrictCommentStringToStartOfStatement(), and llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF().
This string, if specified, is used to separate instructions from each other when on the same line.
Defaults to ';'
Definition at line 131 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), getSeparatorString(), MCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().
|
protected |
True if the expression .long f - g uses a relocation but it can be suppressed by writing a = f - g .long a.
Definition at line 346 of file MCAsmInfo.h.
Referenced by doesSetDirectiveSuppressReloc(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().
|
protected |
True if target stack grow up. Default is false.
Definition at line 82 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), and isStackGrowthDirectionUp().
|
protected |
Whether the '*' token refers to the current PC.
This is used for the HLASM dialect.
Definition at line 127 of file MCAsmInfo.h.
Referenced by getStarIsPC(), and llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF().
|
protected |
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.
Definition at line 314 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), and usesSunStyleELFSectionSwitchSyntax().
|
protected |
True if target supports emission of debugging information.
Defaults to false.
Definition at line 451 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), llvm::CSKYMCAsmInfo::CSKYMCAsmInfo(), doesSupportDebugInformation(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::XCoreMCAsmInfo::XCoreMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
True if the target supports flags in ".loc" directive, false if only location is allowed.
Definition at line 497 of file MCAsmInfo.h.
Referenced by MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and supportsExtendedDwarfLocDirective().
If this is true, symbol names with invalid characters will be printed in quotes.
Definition at line 229 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and supportsNameQuoting().
True if data directives support signed values.
Definition at line 291 of file MCAsmInfo.h.
Referenced by llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and supportsSignedData().
|
protected |
If non-zero, this is used to fill the executable space created as the result of a alignment directive.
Defaults to 0
Definition at line 333 of file MCAsmInfo.h.
Referenced by getTextAlignFillValue(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().
Definition at line 308 of file MCAsmInfo.h.
Referenced by getTPRel32Directive(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().
Definition at line 309 of file MCAsmInfo.h.
Referenced by getTPRel64Directive(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().
|
protected |
Definition at line 160 of file MCAsmInfo.h.
Referenced by llvm::MipsMCAsmInfo::MipsMCAsmInfo(), and useAssignmentForEHBegin().
|
protected |
This is true if data region markers should be printed as ".data_region/.end_data_region" directives.
If false, use "$d/$a" labels instead.
Definition at line 234 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), doesSupportDataRegionDirectives(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().
|
protected |
True if .align is to be used for alignment.
Only power-of-two alignment is supported.
Definition at line 238 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), and useDotAlignForAlignment().
|
protected |
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()).
Definition at line 516 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), setUseIntegratedAssembler(), llvm::ARMELFMCAsmInfo::setUseIntegratedAssembler(), useIntegratedAssembler(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
True if the integrated assembler should interpret 'a >> b' constant expressions as logical rather than arithmetic.
Definition at line 529 of file MCAsmInfo.h.
Referenced by llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), and shouldUseLogicalShr().
|
protected |
Definition at line 540 of file MCAsmInfo.h.
Referenced by llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), and shouldUseMotorolaIntegers().
True if the target uses parens for symbol names starting with '$' character to distinguish them from absolute names.
Definition at line 493 of file MCAsmInfo.h.
Referenced by llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and useParensForDollarSignNames().
|
protected |
True if target uses parens to indicate the symbol variant instead of .
For example, foo(plt) instead of foo@plt. Defaults to false.
Definition at line 489 of file MCAsmInfo.h.
Referenced by llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), and useParensForSymbolVariant().
|
protected |
True if target uses CFI unwind information for debugging purpose when ExceptionsType == ExceptionHandling::None
.
Definition at line 458 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), and doesUseCFIForDebug().
True if the target supports generating the DWARF line table through using the .loc/.file directives.
Defaults to true.
Definition at line 473 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), and usesDwarfFileAndLocDirectives().
|
protected |
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.
Definition at line 319 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), llvm::CSKYMCAsmInfo::CSKYMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), usesELFSectionDirectiveForBSS(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
Used to declare a global as being a weak symbol. Defaults to ".weak".
Definition at line 410 of file MCAsmInfo.h.
Referenced by getWeakDirective(), MCAsmInfo(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().
This directive, if non-null, is used to declare a global as being a weak undefined symbol.
Defaults to nullptr.
Definition at line 414 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), getWeakRefDirective(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MCAsmInfoELF::MCAsmInfoELF(), and llvm::MCAsmInfoWasm::MCAsmInfoWasm().
|
protected |
Windows exception handling data (.pdata) encoding. Defaults to Invalid.
Definition at line 461 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), getWinEHEncodingType(), usesWindowsCFI(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().
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"
Definition at line 249 of file MCAsmInfo.h.
Referenced by llvm::ARCMCAsmInfo::ARCMCAsmInfo(), getZeroDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::XCoreMCAsmInfo::XCoreMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
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.
Definition at line 254 of file MCAsmInfo.h.
Referenced by doesZeroDirectiveSupportNonZeroValue(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().