LLVM 22.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"
Classes | |
struct | AtSpecifier |
Public Types | |
enum | AsmCharLiteralSyntax { ACLS_Unknown , ACLS_SingleQuotePrefix } |
Assembly character literal syntax types. More... | |
Protected Member Functions | |
void | initializeAtSpecifiers (ArrayRef< AtSpecifier >) |
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 | HasCOFFAssociativeComdats = false |
True if this is a non-GNU COFF target. | |
bool | HasCOFFComdatConstants = false |
True if this is a non-GNU COFF target. | |
bool | IsAIX = false |
bool | IsHLASM = false |
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. | |
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 | AllowAdditionalComments = true |
This indicates whether to allow additional "comment strings" to be lexed as a comment. | |
const char * | LabelSuffix |
This is appended to emitted labels. Defaults to ":". | |
bool | UsesSetToEquateSymbol = false |
Use .set instead of = to equate a symbol to an expression. | |
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 |
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 | 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 | HasLEB128Directives = true |
True if the target supports LEB128 directives. | |
bool | PPCUseFullRegisterNames = false |
True if full register names are printed. | |
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. | |
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. | |
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. | |
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 | 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 | 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 | 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. | |
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 | 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. | |
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 | UsesCFIWithoutEH = false |
True if target uses CFI unwind information for other purposes than EH (debugging / sanitizers) 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 | EnableDwarfFileDirectoryDefault = true |
True if DWARF ‘.file directory’ directive syntax is used by default. | |
bool | DwarfRegNumForCFI = false |
True if dwarf register numbers are printed instead of symbolic register names in .cfi_* directives. | |
bool | UseAtForSpecifier = true |
True if target uses @ (expr@specifier) for relocation specifiers. | |
bool | UseParensForSpecifier = false |
(ARM-specific) Uses parens for relocation specifier in data directives, e.g. | |
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. | |
unsigned | CommentColumn = 40 |
The column (zero-based) at which asm comments should be printed. | |
bool | UseLogicalShr = true |
True if the integrated assembler should interpret 'a >> b' constant expressions as logical rather than arithmetic. | |
bool | UseMotorolaIntegers = false |
llvm::DenseMap< uint32_t, StringRef > | AtSpecifierToName |
llvm::StringMap< uint32_t > | NameToAtSpecifier |
This class is intended to be used as a base class for asm properties and features specific to the target.
Definition at line 64 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 67 of file MCAsmInfo.h.
|
explicit |
Definition at line 44 of file MCAsmInfo.cpp.
References AsciiDirective, AscizDirective, llvm::cl::BOU_TRUE, llvm::cl::BOU_UNSET, CommentString, Data16bitsDirective, Data32bitsDirective, Data64bitsDirective, Data8bitsDirective, llvm::Default, DwarfExtendedLoc, llvm::Enable, GlobalDirective, HasLEB128Directives, InlineAsmEnd, InlineAsmStart, LabelSuffix, LinkerPrivateGlobalPrefix, ParseInlineAsmUsingAsmParser, PPCUseFullRegisterNames, PreserveAsmComments, PrivateGlobalPrefix, PrivateLabelPrefix, SeparatorString, SupportsExtendedDwarfLocDirective, UseIntegratedAssembler, llvm::UseLEB128Directives, WeakDirective, and ZeroDirective.
|
virtualdefault |
void MCAsmInfo::addInitialFrameState | ( | const MCCFIInstruction & | Inst | ) |
Definition at line 74 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 617 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::emitLinkage().
|
inline |
Definition at line 694 of file MCAsmInfo.h.
Referenced by calcUniqueIDUpdateFlagsAndSize(), llvm::AsmPrinter::emitPatchableFunctionEntries(), llvm::TargetLoweringObjectFileELF::getSectionForLSDA(), selectELFSectionForGlobal(), and selectExplicitSectionGlobal().
|
inline |
Definition at line 586 of file MCAsmInfo.h.
|
inline |
Definition at line 662 of file MCAsmInfo.h.
Referenced by emitFDESymbol().
|
inline |
Definition at line 566 of file MCAsmInfo.h.
|
inline |
Definition at line 561 of file MCAsmInfo.h.
Referenced by isAcceptableChar().
|
inline |
Definition at line 569 of file MCAsmInfo.h.
|
inline |
Definition at line 563 of file MCAsmInfo.h.
|
inline |
Definition at line 658 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::AsmPrinter(), llvm::MCGenDwarfInfo::Emit(), and llvm::MCDwarfLineStr::MCDwarfLineStr().
|
inline |
Definition at line 593 of file MCAsmInfo.h.
Referenced by llvm::MCStreamer::emitAbsoluteSymbolDiff(), and llvm::AsmPrinter::emitJumpTableEntry().
|
inline |
Definition at line 574 of file MCAsmInfo.h.
|
inline |
Definition at line 631 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::doInitialization().
|
inline |
Definition at line 672 of file MCAsmInfo.h.
|
virtual |
Reimplemented in llvm::ARMMCAsmInfoDarwin, llvm::ARMELFMCAsmInfo, llvm::ARMCOFFMCAsmInfoMicrosoft, llvm::ARMCOFFMCAsmInfoGNU, llvm::AArch64MCAsmInfoDarwin, llvm::AArch64MCAsmInfoELF, llvm::AArch64MCAsmInfoMicrosoftCOFF, llvm::AArch64MCAsmInfoGNUCOFF, llvm::AVRMCAsmInfo, llvm::MipsELFMCAsmInfo, llvm::MipsCOFFMCAsmInfo, llvm::PPCELFMCAsmInfo, llvm::PPCXCOFFMCAsmInfo, llvm::SystemZMCAsmInfoGOFF, and llvm::VEELFMCAsmInfo.
Definition at line 160 of file MCAsmInfo.cpp.
References llvm::MCExpr::evaluateAsRelocatable(), llvm::MCSpecifierExpr::getSpecifier(), llvm::MCSpecifierExpr::getSubExpr(), llvm::MCValue::getSubSym(), and llvm::MCValue::setSpecifier().
|
inline |
Definition at line 589 of file MCAsmInfo.h.
Definition at line 584 of file MCAsmInfo.h.
Definition at line 585 of file MCAsmInfo.h.
|
inline |
Definition at line 560 of file MCAsmInfo.h.
Referenced by llvm::CodeGenTargetMachineImpl::createMCStreamer(), llvm::AsmPrinter::doInitialization(), LLVMSetDisasmOptions(), llvm::logicalview::LVBinaryReader::loadGenericTargetInfo(), printFormattedRegName(), and llvm::X86MCExpr::printImpl().
|
inline |
Get the callee-saved register stack slot size in bytes.
Definition at line 447 of file MCAsmInfo.h.
Referenced by getDataAlignmentFactor().
|
inline |
Get the code pointer size in bytes.
Definition at line 443 of file MCAsmInfo.h.
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(), llvm::X86InstPrinterCommon::printPCRelImm(), and llvm::RISCVAsmBackend::relaxDwarfLineAddr().
|
inline |
Definition at line 597 of file MCAsmInfo.h.
|
inline |
Definition at line 535 of file MCAsmInfo.h.
Referenced by emitComments().
|
inline |
Definition at line 538 of file MCAsmInfo.h.
Referenced by llvm::AsmLexer::AsmLexer(), llvm::SystemZHLASMAsmStreamer::EmitComment(), emitComments(), getGNUBinOpPrecedence(), llvm::HexagonInstrInfo::getInlineAsmLength(), isAsmComment(), llvm::MCInstPrinter::printAnnotation(), llvm::AArch64InstPrinter::printInst(), and llvm::AsmPrinter::PrintSpecial().
Definition at line 462 of file MCAsmInfo.h.
Definition at line 463 of file MCAsmInfo.h.
Definition at line 464 of file MCAsmInfo.h.
Definition at line 461 of file MCAsmInfo.h.
Referenced by llvm::MCTargetStreamer::emitRawBytes(), and llvm::NVPTXTargetStreamer::emitRawBytes().
|
inline |
Definition at line 532 of file MCAsmInfo.h.
|
inline |
Definition at line 633 of file MCAsmInfo.h.
Referenced by llvm::TargetPassConfig::addPassesToHandleExceptions(), llvm::CodeGenPassBuilder< DerivedT, TargetMachineT >::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::CodeGenTargetMachineImpl::initAsmInfo(), llvm::TargetLoweringObjectFileELF::Initialize(), and llvm::WebAssemblyFrameLowering::needsPrologForEH().
|
inline |
Definition at line 621 of file MCAsmInfo.h.
|
virtual |
Reimplemented in llvm::RISCVMCAsmInfo, and llvm::SparcELFMCAsmInfo.
Definition at line 86 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 79 of file MCAsmInfo.cpp.
References getExprForFDESymbol(), and Sym.
Referenced by EmitPersonality(), and llvm::SparcELFMCAsmInfo::getExprForPersonalitySymbol().
Definition at line 591 of file MCAsmInfo.h.
|
inline |
Definition at line 623 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::emitVisibility().
|
inline |
Definition at line 619 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::emitVisibility().
|
inline |
Definition at line 678 of file MCAsmInfo.h.
Referenced by llvm::MCStreamer::emitCFIStartProc().
Definition at line 559 of file MCAsmInfo.h.
Definition at line 558 of file MCAsmInfo.h.
Definition at line 540 of file MCAsmInfo.h.
|
inline |
Definition at line 601 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::emitGlobalVariable().
|
inline |
Definition at line 552 of file MCAsmInfo.h.
Referenced by llvm::MCContext::createLinkerPrivateSymbol().
|
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 527 of file MCAsmInfo.h.
Referenced by llvm::TargetInstrInfo::getInlineAsmLength(), and llvm::HexagonInstrInfo::getInlineAsmLength().
|
inline |
Definition at line 531 of file MCAsmInfo.h.
Referenced by llvm::MCDwarfLineTableHeader::Emit().
|
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 470 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::doFinalization(), and llvm::MCELFStreamer::initSections().
|
inline |
Definition at line 545 of file MCAsmInfo.h.
Referenced by llvm::MCContext::createNamedTempSymbol(), llvm::MCContext::createTempSymbol(), llvm::CSKYAsmPrinter::emitMachineConstantPoolValue(), llvm::LanaiMCInstLower::GetConstantPoolIndexSymbol(), llvm::MCStreamer::getDwarfLineTableSymbol(), llvm::LanaiMCInstLower::GetJumpTableSymbol(), llvm::MCContext::getOrCreateFrameAllocSymbol(), llvm::MCContext::getOrCreateLSDASymbol(), llvm::MCContext::getOrCreateParentFrameOffsetSymbol(), llvm::MCContext::getOrCreateSymbol(), and llvm::MCResourceInfo::getSymbol().
|
inline |
Definition at line 546 of file MCAsmInfo.h.
Referenced by llvm::MCContext::createBlockSymbol().
|
inline |
Definition at line 627 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::emitVisibility().
Definition at line 533 of file MCAsmInfo.h.
Referenced by llvm::TargetInstrInfo::getInlineAsmLength(), and llvm::HexagonInstrInfo::getInlineAsmLength().
Definition at line 146 of file MCAsmInfo.cpp.
References llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), Name, and NameToAtSpecifier.
Referenced by llvm::MCAsmParser::parseAtSpecifier().
Definition at line 139 of file MCAsmInfo.cpp.
References assert(), and AtSpecifierToName.
Referenced by llvm::PPCELFMCAsmInfo::printSpecifierExpr(), llvm::PPCXCOFFMCAsmInfo::printSpecifierExpr(), llvm::VEELFMCAsmInfo::printSpecifierExpr(), and llvm::PPCInstPrinter::printTLSCall().
|
inline |
Definition at line 590 of file MCAsmInfo.h.
Referenced by llvm::SystemZHLASMAsmStreamer::emitCodeAlignment().
Definition at line 610 of file MCAsmInfo.h.
Definition at line 611 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::doFinalization(), and llvm::AsmPrinter::emitGlobalAlias().
|
inline |
Definition at line 634 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::doInitialization().
Definition at line 583 of file MCAsmInfo.h.
|
inline |
Definition at line 522 of file MCAsmInfo.h.
|
inline |
Definition at line 523 of file MCAsmInfo.h.
|
inline |
Definition at line 606 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::emitFunctionBody(), llvm::AsmPrinter::emitGlobalAlias(), llvm::AsmPrinter::emitGlobalVariable(), and llvm::X86AsmPrinter::emitKCFITypeId().
|
inline |
Definition at line 605 of file MCAsmInfo.h.
|
inline |
Definition at line 608 of file MCAsmInfo.h.
|
inline |
Definition at line 578 of file MCAsmInfo.h.
Referenced by llvm::EHStreamer::emitExceptionTable().
|
inline |
Definition at line 548 of file MCAsmInfo.h.
References llvm::StringRef::empty().
|
inline |
Definition at line 609 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::emitSpecialLLVMGlobal().
|
inline |
Definition at line 607 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::doInitialization().
|
inline |
Definition at line 457 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::emitFunctionBody(), and llvm::AsmPrinter::emitGlobalConstant().
|
inline |
Definition at line 613 of file MCAsmInfo.h.
Referenced by canBeHidden().
|
protected |
Definition at line 127 of file MCAsmInfo.cpp.
References assert(), AtSpecifierToName, NameToAtSpecifier, and llvm::StringMap< ValueTy, AllocatorTy >::try_emplace().
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::CSKYMCAsmInfo::CSKYMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().
Return true if C is an acceptable character inside a symbol name.
Reimplemented in llvm::MCAsmInfoXCOFF, and llvm::SystemZMCAsmInfoGOFF.
Definition at line 100 of file MCAsmInfo.cpp.
References llvm::CallingConv::C, and doesAllowAtInName().
Referenced by llvm::SystemZMCAsmInfoGOFF::isAcceptableChar(), and isValidUnquotedName().
|
inline |
Definition at line 519 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::doInitialization(), and llvm::AsmPrinter::SetupMachineFunction().
|
inline |
Definition at line 520 of file MCAsmInfo.h.
Referenced by EmitInlineAsmStr().
|
inline |
True if the target is little endian.
Definition at line 452 of file MCAsmInfo.h.
Referenced by llvm::ARMTargetStreamer::emitInst(), and llvm::MCStreamer::emitIntValue().
|
inline |
Definition at line 521 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::emitGlobalAlias(), llvm::AsmPrinter::emitGlobalVariable(), and llvm::AsmPrinter::emitLinkage().
|
inline |
True if target stack grow up.
Definition at line 455 of file MCAsmInfo.h.
Referenced by getDataAlignmentFactor().
Return true if the identifier Name
does not need quotes to be syntactically correct.
Definition at line 107 of file MCAsmInfo.cpp.
References llvm::CallingConv::C, isAcceptableChar(), and Name.
Referenced by llvm::MCSymbol::print().
|
inline |
Definition at line 513 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::emitDwarfSymbolReference(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), llvm::AsmPrinter::emitLabelPlusOffset(), and llvm::MCDwarfLineStr::emitRef().
|
inline |
Definition at line 544 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::SetupMachineFunction().
|
inline |
Return true if target want to use AsmParser to parse inlineasm.
Definition at line 690 of file MCAsmInfo.h.
|
inline |
Return true if assembly (inline or otherwise) should be parsed.
Definition at line 709 of file MCAsmInfo.h.
void MCAsmInfo::printExpr | ( | raw_ostream & | OS, |
const MCExpr & | Expr | ||
) | const |
Definition at line 153 of file MCAsmInfo.cpp.
References OS, and printSpecifierExpr().
Referenced by llvm::SystemZTargetHLASMStreamer::createWordDiffExpr(), llvm::SystemZHLASMAsmStreamer::emitHLASMValueImpl(), llvm::WebAssemblyTargetAsmStreamer::emitIndIdx(), llvm::MCTargetStreamer::emitValue(), llvm::DIEExpr::print(), XtensaOperand::print(), llvm::AArch64AuthMCExpr::print(), llvm::MCOperand::print(), llvm::AArch64InstPrinter::printAddSubImm(), llvm::AArch64InstPrinter::printAdrAdrpLabel(), llvm::ARMInstPrinter::printAdrLabelOperand(), llvm::AArch64InstPrinter::printAlignedLabel(), llvm::AMDGPU::printAMDGPUMCExpr(), llvm::AArch64InstPrinter::printAMIndexedWB(), llvm::LoongArchAsmPrinter::PrintAsmMemoryOperand(), llvm::HexagonInstPrinter::printBrtarget(), llvm::BPFInstPrinter::printBrTargetOperand(), llvm::CSKYInstPrinter::printConstpool(), llvm::SparcInstPrinter::printCTILabel(), llvm::CSKYInstPrinter::printDataSymbol(), llvm::X86InstPrinterCommon::printExprOperand(), llvm::X86ATTInstPrinter::printExprOperand(), llvm::LanaiInstPrinter::printHi16AndImmOperand(), llvm::LanaiInstPrinter::printHi16ImmOperand(), llvm::BPFInstPrinter::printImm64Operand(), printImpl(), llvm::AMDGPUMCExpr::printImpl(), llvm::HexagonMCExpr::printImpl(), llvm::NVPTXGenericMCSymbolRefExpr::printImpl(), llvm::AArch64InstPrinter::printInst(), llvm::R600InstPrinter::printLiteral(), llvm::LanaiInstPrinter::printLo16AndImmOperand(), llvm::LanaiInstPrinter::printMemImmOperand(), llvm::X86IntelInstPrinter::printMemOffset(), printMemoryImmediateOffset(), llvm::X86IntelInstPrinter::printMemReference(), llvm::SparcInstPrinter::printOperand(), llvm::VEInstPrinter::printOperand(), llvm::AArch64InstPrinter::printOperand(), llvm::ARMInstPrinter::printOperand(), llvm::CSKYInstPrinter::printOperand(), llvm::PPCInstPrinter::printOperand(), llvm::RISCVInstPrinter::printOperand(), llvm::R600InstPrinter::printOperand(), llvm::BPFInstPrinter::printOperand(), llvm::LanaiInstPrinter::printOperand(), llvm::NVPTXInstPrinter::printOperand(), llvm::SPIRVInstPrinter::printOperand(), llvm::X86IntelInstPrinter::printOperand(), llvm::WebAssemblyInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), printOperand(), llvm::SystemZInstPrinterCommon::printOperand(), llvm::HexagonInstPrinter::printOperand(), llvm::SystemZInstPrinterCommon::printPCRelOperand(), llvm::SystemZInstPrinterCommon::printSImmOperand(), llvm::ARM::printSpecifierExpr(), llvm::AArch64MCAsmInfoDarwin::printSpecifierExpr(), llvm::AArch64MCAsmInfoELF::printSpecifierExpr(), llvm::AArch64MCAsmInfoMicrosoftCOFF::printSpecifierExpr(), llvm::AArch64MCAsmInfoGNUCOFF::printSpecifierExpr(), llvm::AVRMCAsmInfo::printSpecifierExpr(), llvm::CSKYMCAsmInfo::printSpecifierExpr(), llvm::LanaiMCAsmInfo::printSpecifierExpr(), llvm::LoongArchMCAsmInfo::printSpecifierExpr(), llvm::PPCELFMCAsmInfo::printSpecifierExpr(), llvm::PPCXCOFFMCAsmInfo::printSpecifierExpr(), llvm::RISCVMCAsmInfo::printSpecifierExpr(), llvm::SparcELFMCAsmInfo::printSpecifierExpr(), llvm::SystemZMCAsmInfoGOFF::printSpecifierExpr(), llvm::VEELFMCAsmInfo::printSpecifierExpr(), llvm::XtensaMCAsmInfo::printSpecifierExpr(), llvm::ARMInstPrinter::printThumbLdrLabelOperand(), llvm::PPCInstPrinter::printTLSCall(), llvm::X86IntelInstPrinter::printU8Imm(), llvm::AArch64InstPrinter::printUImm12Offset(), and llvm::SystemZInstPrinterCommon::printUImmOperand().
|
inlinevirtual |
Reimplemented in llvm::AArch64MCAsmInfoDarwin, llvm::AArch64MCAsmInfoELF, llvm::AArch64MCAsmInfoMicrosoftCOFF, llvm::AArch64MCAsmInfoGNUCOFF, llvm::ARMMCAsmInfoDarwin, llvm::ARMELFMCAsmInfo, llvm::ARMCOFFMCAsmInfoMicrosoft, llvm::ARMCOFFMCAsmInfoGNU, llvm::AVRMCAsmInfo, llvm::CSKYMCAsmInfo, llvm::LanaiMCAsmInfo, llvm::LoongArchMCAsmInfo, llvm::MipsELFMCAsmInfo, llvm::MipsCOFFMCAsmInfo, llvm::PPCELFMCAsmInfo, llvm::PPCXCOFFMCAsmInfo, llvm::RISCVMCAsmInfo, llvm::SparcELFMCAsmInfo, llvm::SystemZMCAsmInfoGOFF, llvm::VEELFMCAsmInfo, and llvm::XtensaMCAsmInfo.
Definition at line 725 of file MCAsmInfo.h.
References llvm_unreachable.
Referenced by printExpr().
|
inlinevirtual |
Reimplemented in llvm::MCAsmInfoDarwin, and llvm::MCAsmInfoXCOFF.
Definition at line 489 of file MCAsmInfo.h.
Referenced by llvm::MCTargetStreamer::changeSection(), and llvm::SystemZHLASMAsmStreamer::changeSection().
|
inline |
Definition at line 562 of file MCAsmInfo.h.
|
inline |
Definition at line 682 of file MCAsmInfo.h.
Referenced by llvm::CodeGenTargetMachineImpl::initAsmInfo().
|
inline |
Definition at line 536 of file MCAsmInfo.h.
|
inline |
Definition at line 636 of file MCAsmInfo.h.
Referenced by llvm::CodeGenTargetMachineImpl::initAsmInfo().
|
inline |
Definition at line 581 of file MCAsmInfo.h.
Referenced by llvm::CodeGenTargetMachineImpl::initAsmInfo().
|
inlinevirtual |
Set whether target want to use AsmParser to parse inlineasm.
Definition at line 704 of file MCAsmInfo.h.
Referenced by llvm::CodeGenTargetMachineImpl::initAsmInfo().
|
inlinevirtual |
Set whether assembly (inline or otherwise) should be parsed.
Definition at line 712 of file MCAsmInfo.h.
Referenced by llvm::CodeGenTargetMachineImpl::initAsmInfo().
|
inlinevirtual |
Set whether assembly (inline or otherwise) should be parsed.
Reimplemented in llvm::ARMELFMCAsmInfo.
Definition at line 699 of file MCAsmInfo.h.
Referenced by llvm::CodeGenTargetMachineImpl::initAsmInfo().
|
inline |
Definition at line 539 of file MCAsmInfo.h.
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 121 of file MCAsmInfo.cpp.
References usesELFSectionDirectiveForBSS().
Referenced by llvm::AMDGPUMCAsmInfo::shouldOmitSectionDirective().
|
inline |
Definition at line 717 of file MCAsmInfo.h.
|
inline |
Definition at line 719 of file MCAsmInfo.h.
Referenced by llvm::AsmLexer::AsmLexer().
|
inline |
Definition at line 666 of file MCAsmInfo.h.
|
inline |
Definition at line 572 of file MCAsmInfo.h.
Referenced by llvm::MCSymbol::print().
|
inline |
Definition at line 465 of file MCAsmInfo.h.
|
inline |
Definition at line 543 of file MCAsmInfo.h.
|
inline |
Definition at line 664 of file MCAsmInfo.h.
Referenced by llvm::AsmLexer::AsmLexer().
Reimplemented in llvm::MCAsmInfoDarwin, and llvm::MCAsmInfoXCOFF.
Definition at line 503 of file MCAsmInfo.h.
Referenced by llvm::MipsTargetELFStreamer::finish().
|
inline |
Definition at line 663 of file MCAsmInfo.h.
|
inline |
Definition at line 580 of file MCAsmInfo.h.
|
inline |
Return true if assembly (inline or otherwise) should be parsed.
Definition at line 687 of file MCAsmInfo.h.
Referenced by calcUniqueIDUpdateFlagsAndSize(), llvm::AsmPrinter::emitPatchableFunctionEntries(), llvm::TargetLoweringObjectFileELF::getSectionForLSDA(), selectELFSectionForGlobal(), and selectExplicitSectionGlobal().
|
inline |
Definition at line 665 of file MCAsmInfo.h.
|
inline |
Returns true if the exception handling method for the platform uses call frame information to unwind.
Definition at line 646 of file MCAsmInfo.h.
Referenced by llvm::DwarfCFIException::beginFunction(), llvm::EHStreamer::computeCallSiteTable(), and llvm::DwarfCFIException::endModule().
|
inline |
Definition at line 640 of file MCAsmInfo.h.
Referenced by llvm::AsmPrinter::getFunctionCFISectionType(), and llvm::AsmPrinter::usesCFIWithoutEH().
|
inline |
Definition at line 670 of file MCAsmInfo.h.
|
inline |
Definition at line 509 of file MCAsmInfo.h.
Referenced by shouldOmitSectionDirective().
|
inline |
Definition at line 542 of file MCAsmInfo.h.
|
inline |
Definition at line 505 of file MCAsmInfo.h.
|
inline |
Definition at line 652 of file MCAsmInfo.h.
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::ARMSubtarget::getPushPopSplitVariation(), llvm::AArch64InstrInfo::isCandidateToMergeOrPair(), llvm::X86::isExtendedSwiftAsyncFrameSupported(), llvm::AArch64InstrInfo::isFunctionSafeToOutlineFrom(), llvm::AArch64FunctionInfo::needsDwarfUnwindInfo(), llvm::AsmPrinter::needsSEHMoves(), needsWinCFI(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), and shouldSignReturnAddressEverywhere().
|
protected |
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 273 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(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
|
protected |
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 143 of file MCAsmInfo.h.
Referenced by 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 203 of file MCAsmInfo.h.
Referenced by 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 182 of file MCAsmInfo.h.
Referenced by llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::MipsCOFFMCAsmInfo::MipsCOFFMCAsmInfo(), 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 196 of file MCAsmInfo.h.
Referenced by llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().
|
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 189 of file MCAsmInfo.h.
Referenced by 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 231 of file MCAsmInfo.h.
Referenced by 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 236 of file MCAsmInfo.h.
Referenced by 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 178 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().
|
protected |
Definition at line 430 of file MCAsmInfo.h.
Referenced by getSpecifierName(), and initializeAtSpecifiers().
|
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 334 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoCOFF::MCAsmInfoCOFF().
|
protected |
Definition at line 405 of file MCAsmInfo.h.
|
protected |
Size of the stack slot reserved for callee-saved registers, in bytes.
Default is same as pointer size.
Definition at line 91 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AVRMCAsmInfo::AVRMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), 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 241 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().
|
protected |
Code pointer size in bytes. Default is 4.
Definition at line 87 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(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), 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().
|
protected |
True is .comm's and .lcomms optional alignment is to be specified in bytes instead of log2(n).
Defaults to true.
Definition at line 294 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), and llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo().
|
protected |
The column (zero-based) at which asm comments should be printed.
Definition at line 421 of file MCAsmInfo.h.
|
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(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), MCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), 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().
Definition at line 248 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
Definition at line 249 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
Definition at line 250 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), 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 247 of file MCAsmInfo.h.
Referenced by 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 127 of file MCAsmInfo.h.
Referenced by llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), and llvm::X86MCAsmInfoMicrosoftMASM::X86MCAsmInfoMicrosoftMASM().
|
protected |
True if DWARF FDE symbol reference relocations should be replaced by an absolute difference.
Definition at line 374 of file MCAsmInfo.h.
Referenced by 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 382 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::ARMELFMCAsmInfo::setUseIntegratedAssembler(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
|
protected |
True if Dwarf2 output generally uses relocations for references to other .debug_* sections.
Definition at line 370 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::BPFMCAsmInfo::setDwarfUsesRelocationsAcrossSections().
|
protected |
True if DWARF ‘.file directory’ directive syntax is used by default.
Definition at line 378 of file MCAsmInfo.h.
Referenced by llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().
|
protected |
Exception handling format for the target. Defaults to None.
Definition at line 359 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(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsCOFFMCAsmInfo::MipsCOFFMCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), 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 342 of file MCAsmInfo.h.
This is the directive used to declare a global entity.
Defaults to ".globl".
Definition at line 283 of file MCAsmInfo.h.
Referenced by MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
|
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 106 of file MCAsmInfo.h.
Referenced by 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 110 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), and llvm::MCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF().
|
protected |
True if the target has .type and .size directives, this is true for most ELF targets.
Defaults to true.
Definition at line 306 of file MCAsmInfo.h.
Referenced by llvm::BPFMCAsmInfo::BPFMCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo().
|
protected |
Definition at line 302 of file MCAsmInfo.h.
Referenced by 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 314 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::MCAsmInfoELF::MCAsmInfoELF(), and llvm::MCAsmInfoWasm::MCAsmInfoWasm().
|
protected |
True if the target supports LEB128 directives.
Definition at line 215 of file MCAsmInfo.h.
Referenced by MCAsmInfo(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().
|
protected |
True if this target supports the MachO .no_dead_strip directive.
Defaults to false.
Definition at line 318 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::MCAsmInfoWasm::MCAsmInfoWasm().
|
protected |
True if the target has a single parameter .file directive, this is true for ELF targets.
Defaults to true.
Definition at line 310 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MipsCOFFMCAsmInfo::MipsCOFFMCAsmInfo(), 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 101 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().
|
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 329 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().
|
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 346 of file MCAsmInfo.h.
Referenced by llvm::ARCMCAsmInfo::ARCMCAsmInfo(), 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 338 of file MCAsmInfo.h.
Referenced by llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
|
protected |
Definition at line 397 of file MCAsmInfo.h.
Referenced by addInitialFrameState().
Definition at line 175 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), 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 174 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().
|
protected |
Definition at line 112 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().
|
protected |
Definition at line 115 of file MCAsmInfo.h.
Referenced by llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF().
|
protected |
True if target is little endian. Default is true.
Definition at line 94 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::RISCVMCAsmInfo::RISCVMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), and llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF().
This is appended to emitted labels. Defaults to ":".
Definition at line 146 of file MCAsmInfo.h.
Referenced by 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 298 of file MCAsmInfo.h.
Referenced by 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 170 of file MCAsmInfo.h.
Referenced by 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 119 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::AMDGPUMCAsmInfo::getMaxInstLength(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF(), and llvm::VEELFMCAsmInfo::VEELFMCAsmInfo().
|
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 123 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), llvm::SPIRVMCAsmInfo::SPIRVMCAsmInfo(), and llvm::VEELFMCAsmInfo::VEELFMCAsmInfo().
|
protected |
Definition at line 431 of file MCAsmInfo.h.
Referenced by getSpecifierForName(), and initializeAtSpecifiers().
|
protected |
Definition at line 265 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoCOFF::MCAsmInfoCOFF().
|
protected |
Definition at line 155 of file MCAsmInfo.h.
Referenced by llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo().
|
protected |
Use AsmParser to parse inlineAsm when UseIntegratedAssembler is not set.
Definition at line 415 of file MCAsmInfo.h.
Referenced by MCAsmInfo(), and llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF().
|
protected |
True if full register names are printed.
Definition at line 218 of file MCAsmInfo.h.
Referenced by MCAsmInfo().
|
protected |
Preserve Comments in assembly.
Definition at line 418 of file MCAsmInfo.h.
Referenced by MCAsmInfo().
|
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 160 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::BPFMCAsmInfo::BPFMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoELF::MCAsmInfoELF(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MCAsmInfoWasm::MCAsmInfoWasm(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsCOFFMCAsmInfo::MipsCOFFMCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), 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 164 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::BPFMCAsmInfo::BPFMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoELF::MCAsmInfoELF(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MCAsmInfoWasm::MCAsmInfoWasm(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsCOFFMCAsmInfo::MipsCOFFMCAsmInfo(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), 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 350 of file MCAsmInfo.h.
Referenced by llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
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(), 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 290 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().
|
protected |
True if target stack grow up. Default is false.
Definition at line 97 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo().
|
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 258 of file MCAsmInfo.h.
|
protected |
True if target supports emission of debugging information.
Defaults to false.
Definition at line 356 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(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LanaiMCAsmInfo::LanaiMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), 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().
|
protected |
True if the target supports flags in ".loc" directive, false if only location is allowed.
Definition at line 393 of file MCAsmInfo.h.
Referenced by MCAsmInfo(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().
|
protected |
If this is true, symbol names with invalid characters will be printed in quotes.
Definition at line 207 of file MCAsmInfo.h.
Referenced by llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().
|
protected |
True if data directives support signed values.
Definition at line 253 of file MCAsmInfo.h.
Referenced by llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().
|
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 277 of file MCAsmInfo.h.
|
protected |
Definition at line 152 of file MCAsmInfo.h.
Referenced by llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo().
|
protected |
True if target uses @ (expr@specifier) for relocation specifiers.
Definition at line 385 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), and llvm::RISCVMCAsmInfo::RISCVMCAsmInfo().
|
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 212 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), and llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().
|
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 CodeGenTargetMachineImpl::initAsmInfo()).
Definition at line 412 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::ARMELFMCAsmInfo::setUseIntegratedAssembler(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().
|
protected |
True if the integrated assembler should interpret 'a >> b' constant expressions as logical rather than arithmetic.
Definition at line 425 of file MCAsmInfo.h.
Referenced by llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), and llvm::MCAsmInfoCOFF::MCAsmInfoCOFF().
|
protected |
Definition at line 428 of file MCAsmInfo.h.
Referenced by llvm::M68kELFMCAsmInfo::M68kELFMCAsmInfo().
|
protected |
(ARM-specific) Uses parens for relocation specifier in data directives, e.g.
.word foo(got).
Definition at line 389 of file MCAsmInfo.h.
Referenced by llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), and llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo().
|
protected |
True if target uses CFI unwind information for other purposes than EH (debugging / sanitizers) when ExceptionsType == ExceptionHandling::None
.
Definition at line 363 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo().
|
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 263 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(), llvm::VEELFMCAsmInfo::VEELFMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().
|
protected |
Use .set instead of = to equate a symbol to an expression.
Definition at line 149 of file MCAsmInfo.h.
Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::PPCXCOFFMCAsmInfo::PPCXCOFFMCAsmInfo(), and llvm::SystemZMCAsmInfoGOFF::SystemZMCAsmInfoGOFF().
Used to declare a global as being a weak symbol. Defaults to ".weak".
Definition at line 321 of file MCAsmInfo.h.
Referenced by 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 325 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::BPFMCAsmInfo::BPFMCAsmInfo(), 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 366 of file MCAsmInfo.h.
Referenced by llvm::AArch64MCAsmInfoGNUCOFF::AArch64MCAsmInfoGNUCOFF(), llvm::AArch64MCAsmInfoMicrosoftCOFF::AArch64MCAsmInfoMicrosoftCOFF(), llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMCOFFMCAsmInfoMicrosoft::ARMCOFFMCAsmInfoMicrosoft(), llvm::MipsCOFFMCAsmInfo::MipsCOFFMCAsmInfo(), 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 226 of file MCAsmInfo.h.
Referenced by llvm::ARCMCAsmInfo::ARCMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), llvm::LoongArchMCAsmInfo::LoongArchMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MCAsmInfoGOFF::MCAsmInfoGOFF(), llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF(), llvm::MipsELFMCAsmInfo::MipsELFMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfoELF::SystemZMCAsmInfoELF(), llvm::WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(), llvm::XCoreMCAsmInfo::XCoreMCAsmInfo(), and llvm::XtensaMCAsmInfo::XtensaMCAsmInfo().