LLVM
8.0.1
|
#include "llvm/MC/MCAsmInfoDarwin.h"
Additional Inherited Members | |
Protected Attributes inherited from llvm::MCAsmInfo | |
unsigned | CodePointerSize = 4 |
Code pointer size in bytes. Default is 4. More... | |
unsigned | CalleeSaveStackSlotSize = 4 |
Size of the stack slot reserved for callee-saved registers, in bytes. More... | |
bool | IsLittleEndian = true |
True if target is little endian. Default is true. More... | |
bool | StackGrowsUp = false |
True if target stack grow up. Default is false. More... | |
bool | HasSubsectionsViaSymbols = false |
True if this target has the MachO .subsections_via_symbols directive. More... | |
bool | HasMachoZeroFillDirective = false |
True if this is a MachO target that supports the macho-specific .zerofill directive for emitting BSS Symbols. More... | |
bool | HasMachoTBSSDirective = false |
True if this is a MachO target that supports the macho-specific .tbss directive for emitting thread local BSS Symbols. More... | |
bool | HasCOFFAssociativeComdats = false |
True if this is a non-GNU COFF target. More... | |
bool | HasCOFFComdatConstants = false |
True if this is a non-GNU COFF target. More... | |
unsigned | MaxInstLength = 4 |
This is the maximum possible length of an instruction, which is needed to compute the size of an inline asm. More... | |
unsigned | MinInstAlignment = 1 |
Every possible instruction length is a multiple of this value. More... | |
bool | DollarIsPC = false |
The '$' token, when not referencing an identifier or constant, refers to the current PC. More... | |
const char * | SeparatorString |
This string, if specified, is used to separate instructions from each other when on the same line. More... | |
StringRef | CommentString |
This indicates the comment character used by the assembler. More... | |
const char * | LabelSuffix |
This is appended to emitted labels. Defaults to ":". More... | |
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. More... | |
StringRef | PrivateLabelPrefix |
This prefix is used for labels for basic blocks. More... | |
StringRef | LinkerPrivateGlobalPrefix |
This prefix is used for symbols that should be passed through the assembler but be removed by the linker. More... | |
const char * | InlineAsmStart |
If these are nonempty, they contain a directive to emit before and after an inline assembly statement. More... | |
const char * | InlineAsmEnd |
const char * | Code16Directive |
These are assembly directives that tells the assembler to interpret the following instructions differently. More... | |
const char * | Code32Directive |
const char * | Code64Directive |
unsigned | AssemblerDialect = 0 |
Which dialect of an assembler variant to use. Defaults to 0. More... | |
bool | AllowAtInName = false |
This is true if the assembler allows @ characters in symbol names. More... | |
bool | SupportsQuotedNames = true |
If this is true, symbol names with invalid characters will be printed in quotes. More... | |
bool | UseDataRegionDirectives = false |
This is true if data region markers should be printed as ".data_region/.end_data_region" directives. More... | |
const char * | ZeroDirective |
This should be set to the directive used to get some number of zero bytes emitted to the current section. More... | |
const char * | AsciiDirective |
This directive allows emission of an ascii string with the standard C escape characters embedded into it. More... | |
const char * | AscizDirective |
If not null, this allows for special handling of zero terminated strings on this target. More... | |
const char * | Data8bitsDirective |
These directives are used to output some unit of integer data to the current section. More... | |
const char * | Data16bitsDirective |
const char * | Data32bitsDirective |
const char * | Data64bitsDirective |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
bool | UsesELFSectionDirectiveForBSS = false |
This is true if this target uses ELF '.section' directive before the '.bss' one. More... | |
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. More... | |
unsigned | TextAlignFillValue = 0 |
If non-zero, this is used to fill the executable space created as the result of a alignment directive. More... | |
const char * | GlobalDirective |
This is the directive used to declare a global entity. More... | |
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. More... | |
bool | HasAggressiveSymbolFolding = true |
False if the assembler requires that we use. More... | |
bool | COMMDirectiveAlignmentIsInBytes = true |
True is .comm's and .lcomms optional alignment is to be specified in bytes instead of log2(n). More... | |
LCOMM::LCOMMType | LCOMMDirectiveAlignmentType = LCOMM::NoAlignment |
Describes if the .lcomm directive for the target supports an alignment argument and how it is interpreted. More... | |
bool | HasFunctionAlignment = true |
bool | HasDotTypeDotSizeDirective = true |
True if the target has .type and .size directives, this is true for most ELF targets. More... | |
bool | HasSingleParameterDotFile = true |
True if the target has a single parameter .file directive, this is true for ELF targets. More... | |
bool | HasIdentDirective = false |
True if the target has a .ident directive, this is true for ELF targets. More... | |
bool | HasNoDeadStrip = false |
True if this target supports the MachO .no_dead_strip directive. More... | |
bool | HasAltEntry = false |
True if this target supports the MachO .alt_entry directive. More... | |
const char * | WeakDirective |
Used to declare a global as being a weak symbol. Defaults to ".weak". More... | |
const char * | WeakRefDirective = nullptr |
This directive, if non-null, is used to declare a global as being a weak undefined symbol. More... | |
bool | HasWeakDefDirective = false |
True if we have a directive to declare a global as being a weak defined symbol. More... | |
bool | HasWeakDefCanBeHiddenDirective = false |
True if we have a directive to declare a global as being a weak defined symbol that can be hidden (unexported). More... | |
bool | HasLinkOnceDirective = false |
True if we have a .linkonce directive. More... | |
MCSymbolAttr | HiddenVisibilityAttr = MCSA_Hidden |
This attribute, if not MCSA_Invalid, is used to declare a symbol as having hidden visibility. More... | |
MCSymbolAttr | HiddenDeclarationVisibilityAttr = MCSA_Hidden |
This attribute, if not MCSA_Invalid, is used to declare an undefined symbol as having hidden visibility. More... | |
MCSymbolAttr | ProtectedVisibilityAttr = MCSA_Protected |
This attribute, if not MCSA_Invalid, is used to declare a symbol as having protected visibility. More... | |
bool | SupportsDebugInformation = false |
True if target supports emission of debugging information. More... | |
ExceptionHandling | ExceptionsType = ExceptionHandling::None |
Exception handling format for the target. Defaults to None. More... | |
WinEH::EncodingType | WinEHEncodingType = WinEH::EncodingType::Invalid |
Windows exception handling data (.pdata) encoding. Defaults to Invalid. More... | |
bool | DwarfUsesRelocationsAcrossSections = true |
True if Dwarf2 output generally uses relocations for references to other .debug_* sections. More... | |
bool | DwarfFDESymbolsUseAbsDiff = false |
True if DWARF FDE symbol reference relocations should be replaced by an absolute difference. More... | |
bool | DwarfRegNumForCFI = false |
True if dwarf register numbers are printed instead of symbolic register names in .cfi_* directives. More... | |
bool | UseParensForSymbolVariant = false |
True if target uses parens to indicate the symbol variant instead of . More... | |
bool | SupportsExtendedDwarfLocDirective = true |
True if the target supports flags in ".loc" directive, false if only location is allowed. More... | |
std::vector< MCCFIInstruction > | InitialFrameState |
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. More... | |
bool | PreserveAsmComments |
Preserve Comments in assembly. More... | |
DebugCompressionType | CompressDebugSections = DebugCompressionType::None |
Compress DWARF debug sections. Defaults to no compression. More... | |
bool | UseLogicalShr = true |
True if the integrated assembler should interpret 'a >> b' constant expressions as logical rather than arithmetic. More... | |
bool | RelaxELFRelocations = true |
bool | HasMipsExpressions = false |
Definition at line 22 of file MCAsmInfoDarwin.h.
|
explicit |
Definition at line 60 of file MCAsmInfoDarwin.cpp.
References llvm::MCAsmInfo::AlignmentIsInBytes, llvm::MCAsmInfo::COMMDirectiveAlignmentIsInBytes, llvm::MCAsmInfo::DwarfUsesRelocationsAcrossSections, llvm::MCAsmInfo::HasAggressiveSymbolFolding, llvm::MCAsmInfo::HasAltEntry, llvm::MCAsmInfo::HasDotTypeDotSizeDirective, llvm::MCAsmInfo::HasMachoTBSSDirective, llvm::MCAsmInfo::HasMachoZeroFillDirective, llvm::MCAsmInfo::HasNoDeadStrip, llvm::MCAsmInfo::HasSingleParameterDotFile, llvm::MCAsmInfo::HasSubsectionsViaSymbols, llvm::MCAsmInfo::HasWeakDefCanBeHiddenDirective, llvm::MCAsmInfo::HasWeakDefDirective, llvm::MCAsmInfo::HiddenDeclarationVisibilityAttr, llvm::MCAsmInfo::HiddenVisibilityAttr, llvm::MCAsmInfo::InlineAsmEnd, llvm::MCAsmInfo::InlineAsmStart, llvm::MCAsmInfo::LCOMMDirectiveAlignmentType, llvm::MCAsmInfo::LinkerPrivateGlobalPrefix, llvm::LCOMM::Log2Alignment, llvm::MCSA_Invalid, llvm::MCSA_PrivateExtern, llvm::MCAsmInfo::ProtectedVisibilityAttr, llvm::MCAsmInfo::SetDirectiveSuppressesReloc, llvm::MCAsmInfo::UseIntegratedAssembler, llvm::MCAsmInfo::WeakRefDirective, and llvm::MCAsmInfo::ZeroDirective.
|
overridevirtual |
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 from llvm::MCAsmInfo.
Definition at line 22 of file MCAsmInfoDarwin.cpp.
References llvm::MCSectionMachO::getSectionName(), llvm::MCSectionMachO::getSegmentName(), llvm::MCSectionMachO::getType(), llvm::MachO::S_16BYTE_LITERALS, llvm::MachO::S_4BYTE_LITERALS, llvm::MachO::S_8BYTE_LITERALS, llvm::MachO::S_CSTRING_LITERALS, llvm::MachO::S_INTERPOSING, llvm::MachO::S_LAZY_SYMBOL_POINTERS, llvm::MachO::S_LITERAL_POINTERS, llvm::MachO::S_MOD_INIT_FUNC_POINTERS, llvm::MachO::S_MOD_TERM_FUNC_POINTERS, llvm::MachO::S_NON_LAZY_SYMBOL_POINTERS, llvm::MachO::S_THREAD_LOCAL_VARIABLE_POINTERS, and llvm::ARMBuildAttrs::Section.