LLVM API Documentation

Public Member Functions | Protected Attributes
llvm::MCAsmInfo Class Reference

#include <MCAsmInfo.h>

Inheritance diagram for llvm::MCAsmInfo:
Inheritance graph
[legend]
Collaboration diagram for llvm::MCAsmInfo:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 MCAsmInfo ()
virtual ~MCAsmInfo ()
unsigned getPointerSize () const
 Get the pointer size in bytes.
unsigned getCalleeSaveStackSlotSize () const
bool isLittleEndian () const
 True if the target is little endian.
bool isStackGrowthDirectionUp () const
 True if target stack grow up.
bool hasSubsectionsViaSymbols () const
const char * getData8bitsDirective () const
const char * getData16bitsDirective () const
const char * getData32bitsDirective () const
const char * getData64bitsDirective () const
const char * getGPRel64Directive () const
const char * getGPRel32Directive () const
virtual const MCSectiongetNonexecutableStackSection (MCContext &Ctx) const
virtual const MCExprgetExprForPersonalitySymbol (const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const
virtual const MCExprgetExprForFDESymbol (const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const
bool usesSunStyleELFSectionSwitchSyntax () const
bool usesELFSectionDirectiveForBSS () const
bool needsDwarfSectionOffsetDirective () const
bool hasMachoZeroFillDirective () const
bool hasMachoTBSSDirective () const
bool hasStaticCtorDtorReferenceInStaticMode () const
bool getLinkerRequiresNonEmptyDwarfLines () const
unsigned getMaxInstLength () const
unsigned getMinInstAlignment () const
bool getDollarIsPC () const
const char * getSeparatorString () const
unsigned getCommentColumn () const
const char * getCommentString () const
const char * getLabelSuffix () const
bool useAssignmentForEHBegin () const
const char * getPrivateGlobalPrefix () const
bool hasLinkerPrivateGlobalPrefix () const
const char * getLinkerPrivateGlobalPrefix () const
const char * getInlineAsmStart () const
const char * getInlineAsmEnd () const
const char * getCode16Directive () const
const char * getCode32Directive () const
const char * getCode64Directive () const
unsigned getAssemblerDialect () const
bool doesAllowAtInName () const
bool doesSupportDataRegionDirectives () const
const char * getZeroDirective () const
const char * getAsciiDirective () const
const char * getAscizDirective () const
bool getAlignmentIsInBytes () const
unsigned getTextAlignFillValue () const
const char * getGlobalDirective () const
bool hasSetDirective () const
bool hasAggressiveSymbolFolding () const
bool getCOMMDirectiveAlignmentIsInBytes () const
LCOMM::LCOMMType getLCOMMDirectiveAlignmentType () const
bool hasDotTypeDotSizeDirective () const
bool hasSingleParameterDotFile () const
bool hasIdentDirective () const
bool hasNoDeadStrip () const
const char * getWeakRefDirective () const
bool hasWeakDefDirective () const
bool hasWeakDefCanBeHiddenDirective () const
bool hasLinkOnceDirective () const
MCSymbolAttr getHiddenVisibilityAttr () const
MCSymbolAttr getHiddenDeclarationVisibilityAttr () const
MCSymbolAttr getProtectedVisibilityAttr () const
bool doesSupportDebugInformation () const
bool doesSupportExceptionHandling () const
ExceptionHandling getExceptionHandlingType () const
WinEH::EncodingType getWinEHEncodingType () const
bool isExceptionHandlingDwarf () const
bool doesDwarfUseRelocationsAcrossSections () const
bool doDwarfFDESymbolsUseAbsDiff () const
bool useDwarfRegNumForCFI () const
bool useParensForSymbolVariant () const
void addInitialFrameState (const MCCFIInstruction &Inst)
const std::vector
< MCCFIInstruction > & 
getInitialFrameState () const
bool useIntegratedAssembler () const
 Return true if assembly (inline or otherwise) should be parsed.
virtual void setUseIntegratedAssembler (bool Value)
 Set whether assembly (inline or otherwise) should be parsed.
bool compressDebugSections () const
void setCompressDebugSections (bool CompressDebugSections)

Protected Attributes

unsigned PointerSize
 Pointer size in bytes. Default is 4.
unsigned CalleeSaveStackSlotSize
bool IsLittleEndian
 True if target is little endian. Default is true.
bool StackGrowsUp
 True if target stack grow up. Default is false.
bool HasSubsectionsViaSymbols
bool HasMachoZeroFillDirective
bool HasMachoTBSSDirective
bool HasStaticCtorDtorReferenceInStaticMode
bool LinkerRequiresNonEmptyDwarfLines
unsigned MaxInstLength
unsigned MinInstAlignment
bool DollarIsPC
const char * SeparatorString
const char * CommentString
const char * LabelSuffix
 This is appended to emitted labels. Defaults to ":".
bool UseAssignmentForEHBegin
const char * PrivateGlobalPrefix
const char * LinkerPrivateGlobalPrefix
const char * InlineAsmStart
const char * InlineAsmEnd
const char * Code16Directive
const char * Code32Directive
const char * Code64Directive
unsigned AssemblerDialect
 Which dialect of an assembler variant to use. Defaults to 0.
bool AllowAtInName
bool UseDataRegionDirectives
const char * ZeroDirective
const char * AsciiDirective
const char * AscizDirective
const char * Data8bitsDirective
const char * Data16bitsDirective
const char * Data32bitsDirective
const char * Data64bitsDirective
const char * GPRel64Directive
const char * GPRel32Directive
bool SunStyleELFSectionSwitchSyntax
bool UsesELFSectionDirectiveForBSS
bool NeedsDwarfSectionOffsetDirective
bool AlignmentIsInBytes
unsigned TextAlignFillValue
const char * GlobalDirective
 This is the directive used to declare a global entity. Defaults to NULL.
bool HasSetDirective
 True if the assembler supports the .set directive. Defaults to true.
bool HasAggressiveSymbolFolding
 instead of
bool COMMDirectiveAlignmentIsInBytes
LCOMM::LCOMMType LCOMMDirectiveAlignmentType
bool HasDotTypeDotSizeDirective
bool HasSingleParameterDotFile
bool HasIdentDirective
bool HasNoDeadStrip
const char * WeakRefDirective
bool HasWeakDefDirective
bool HasWeakDefCanBeHiddenDirective
bool HasLinkOnceDirective
MCSymbolAttr HiddenVisibilityAttr
MCSymbolAttr HiddenDeclarationVisibilityAttr
MCSymbolAttr ProtectedVisibilityAttr
bool SupportsDebugInformation
ExceptionHandling ExceptionsType
 Exception handling format for the target. Defaults to None.
WinEH::EncodingType WinEHEncodingType
 Windows exception handling data (.pdata) encoding. Defaults to Invalid.
bool DwarfUsesRelocationsAcrossSections
bool DwarfFDESymbolsUseAbsDiff
bool DwarfRegNumForCFI
bool UseParensForSymbolVariant
std::vector< MCCFIInstructionInitialFrameState
bool UseIntegratedAssembler
bool CompressDebugSections
 Compress DWARF debug sections. Defaults to false.

Detailed Description

This class is intended to be used as a base class for asm properties and features specific to the target.

Definition at line 58 of file MCAsmInfo.h.


Constructor & Destructor Documentation

MCAsmInfo::MCAsmInfo ( ) [explicit]

Definition at line 25 of file MCAsmInfo.cpp.

References AlignmentIsInBytes, AllowAtInName, AsciiDirective, AscizDirective, AssemblerDialect, CalleeSaveStackSlotSize, Code16Directive, Code32Directive, Code64Directive, COMMDirectiveAlignmentIsInBytes, CommentString, CompressDebugSections, Data16bitsDirective, Data32bitsDirective, Data64bitsDirective, Data8bitsDirective, DollarIsPC, DwarfFDESymbolsUseAbsDiff, DwarfRegNumForCFI, DwarfUsesRelocationsAcrossSections, ExceptionsType, GlobalDirective, GPRel32Directive, GPRel64Directive, HasAggressiveSymbolFolding, HasDotTypeDotSizeDirective, HasIdentDirective, HasLinkOnceDirective, HasMachoTBSSDirective, HasMachoZeroFillDirective, HasNoDeadStrip, HasSetDirective, HasSingleParameterDotFile, HasStaticCtorDtorReferenceInStaticMode, HasSubsectionsViaSymbols, HasWeakDefCanBeHiddenDirective, HasWeakDefDirective, HiddenDeclarationVisibilityAttr, HiddenVisibilityAttr, InlineAsmEnd, InlineAsmStart, llvm::WinEH::Invalid, IsLittleEndian, LabelSuffix, LCOMMDirectiveAlignmentType, LinkerPrivateGlobalPrefix, LinkerRequiresNonEmptyDwarfLines, MaxInstLength, llvm::MCSA_Hidden, llvm::MCSA_Protected, MinInstAlignment, NeedsDwarfSectionOffsetDirective, llvm::LCOMM::NoAlignment, llvm::None, PointerSize, PrivateGlobalPrefix, ProtectedVisibilityAttr, SeparatorString, StackGrowsUp, SunStyleELFSectionSwitchSyntax, SupportsDebugInformation, TextAlignFillValue, UseAssignmentForEHBegin, UseDataRegionDirectives, UseIntegratedAssembler, UseParensForSymbolVariant, UsesELFSectionDirectiveForBSS, WeakRefDirective, WinEHEncodingType, and ZeroDirective.

MCAsmInfo::~MCAsmInfo ( ) [virtual]

Definition at line 108 of file MCAsmInfo.cpp.


Member Function Documentation

Definition at line 506 of file MCAsmInfo.h.

References CompressDebugSections.

Definition at line 486 of file MCAsmInfo.h.

References DwarfFDESymbolsUseAbsDiff.

Referenced by emitFDESymbol().

Definition at line 435 of file MCAsmInfo.h.

References AllowAtInName.

Definition at line 436 of file MCAsmInfo.h.

References UseDataRegionDirectives.

Definition at line 471 of file MCAsmInfo.h.

References SupportsDebugInformation.

Referenced by llvm::AsmPrinter::doInitialization().

Definition at line 472 of file MCAsmInfo.h.

References ExceptionsType, and llvm::None.

Definition at line 442 of file MCAsmInfo.h.

References AlignmentIsInBytes.

const char* llvm::MCAsmInfo::getAsciiDirective ( ) const [inline]

Definition at line 440 of file MCAsmInfo.h.

References AsciiDirective.

const char* llvm::MCAsmInfo::getAscizDirective ( ) const [inline]

Definition at line 441 of file MCAsmInfo.h.

References AscizDirective.

Definition at line 434 of file MCAsmInfo.h.

References AssemblerDialect.

Referenced by LLVMCreateDisasmCPU(), and LLVMSetDisasmOptions().

Get the callee-saved register stack slot size in bytes.

Definition at line 349 of file MCAsmInfo.h.

References CalleeSaveStackSlotSize.

Referenced by getDataAlignmentFactor().

const char* llvm::MCAsmInfo::getCode16Directive ( ) const [inline]

Definition at line 431 of file MCAsmInfo.h.

References Code16Directive.

const char* llvm::MCAsmInfo::getCode32Directive ( ) const [inline]

Definition at line 432 of file MCAsmInfo.h.

References Code32Directive.

const char* llvm::MCAsmInfo::getCode64Directive ( ) const [inline]

Definition at line 433 of file MCAsmInfo.h.

References Code64Directive.

Definition at line 447 of file MCAsmInfo.h.

References COMMDirectiveAlignmentIsInBytes.

This indicates the column (zero-based) at which asm comments should be printed.

Definition at line 414 of file MCAsmInfo.h.

Referenced by emitComments().

const char* llvm::MCAsmInfo::getCommentString ( ) const [inline]

Definition at line 364 of file MCAsmInfo.h.

References Data16bitsDirective.

Definition at line 365 of file MCAsmInfo.h.

References Data32bitsDirective.

Definition at line 366 of file MCAsmInfo.h.

References Data64bitsDirective.

Definition at line 363 of file MCAsmInfo.h.

References Data8bitsDirective.

Definition at line 409 of file MCAsmInfo.h.

References DollarIsPC.

const MCExpr * MCAsmInfo::getExprForFDESymbol ( const MCSymbol Sym,
unsigned  Encoding,
MCStreamer Streamer 
) const [virtual]
const MCExpr * MCAsmInfo::getExprForPersonalitySymbol ( const MCSymbol Sym,
unsigned  Encoding,
MCStreamer Streamer 
) const [virtual]
const char* llvm::MCAsmInfo::getGlobalDirective ( ) const [inline]

Definition at line 444 of file MCAsmInfo.h.

References GlobalDirective.

const char* llvm::MCAsmInfo::getGPRel32Directive ( ) const [inline]

Definition at line 368 of file MCAsmInfo.h.

References GPRel32Directive.

const char* llvm::MCAsmInfo::getGPRel64Directive ( ) const [inline]

Definition at line 367 of file MCAsmInfo.h.

References GPRel64Directive.

Definition at line 465 of file MCAsmInfo.h.

References HiddenDeclarationVisibilityAttr.

Definition at line 464 of file MCAsmInfo.h.

References HiddenVisibilityAttr.

Definition at line 494 of file MCAsmInfo.h.

References InitialFrameState.

const char* llvm::MCAsmInfo::getInlineAsmEnd ( ) const [inline]

Definition at line 430 of file MCAsmInfo.h.

References InlineAsmEnd.

const char* llvm::MCAsmInfo::getInlineAsmStart ( ) const [inline]

Definition at line 429 of file MCAsmInfo.h.

References InlineAsmStart.

const char* llvm::MCAsmInfo::getLabelSuffix ( ) const [inline]

Definition at line 417 of file MCAsmInfo.h.

References LabelSuffix.

Definition at line 450 of file MCAsmInfo.h.

References LCOMMDirectiveAlignmentType.

Referenced by llvm::AsmPrinter::EmitGlobalVariable().

Definition at line 404 of file MCAsmInfo.h.

References LinkerRequiresNonEmptyDwarfLines.

Referenced by llvm::MCDwarfLineTable::EmitCU().

Definition at line 408 of file MCAsmInfo.h.

References MinInstAlignment.

Referenced by llvm::MCDwarfLineTableHeader::Emit(), and ScaleAddrDelta().

virtual const MCSection* llvm::MCAsmInfo::getNonexecutableStackSection ( MCContext Ctx) const [inline, virtual]

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.

Reimplemented in llvm::X86ELFMCAsmInfo, llvm::AMDGPUMCAsmInfo, and llvm::SystemZMCAsmInfo.

Definition at line 373 of file MCAsmInfo.h.

Referenced by llvm::AsmPrinter::doFinalization().

Get the pointer size in bytes.

Definition at line 345 of file MCAsmInfo.h.

References PointerSize.

Referenced by llvm::MCDwarfFrameEmitter::Emit(), EmitDwarfLineTable(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), EmitGenDwarfRanges(), and getSizeForEncoding().

Definition at line 468 of file MCAsmInfo.h.

References ProtectedVisibilityAttr.

const char* llvm::MCAsmInfo::getSeparatorString ( ) const [inline]

Definition at line 443 of file MCAsmInfo.h.

References TextAlignFillValue.

const char* llvm::MCAsmInfo::getWeakRefDirective ( ) const [inline]

Definition at line 457 of file MCAsmInfo.h.

References WeakRefDirective.

Referenced by llvm::AsmPrinter::doFinalization().

Definition at line 476 of file MCAsmInfo.h.

References WinEHEncodingType.

Referenced by llvm::AsmPrinter::doInitialization().

const char* llvm::MCAsmInfo::getZeroDirective ( ) const [inline]

Definition at line 439 of file MCAsmInfo.h.

References ZeroDirective.

Definition at line 446 of file MCAsmInfo.h.

References HasAggressiveSymbolFolding.

Referenced by forceExpAbs().

Definition at line 455 of file MCAsmInfo.h.

References HasIdentDirective.

Definition at line 421 of file MCAsmInfo.h.

References LinkerPrivateGlobalPrefix.

Referenced by getLinkerPrivateGlobalPrefix().

Definition at line 462 of file MCAsmInfo.h.

References HasLinkOnceDirective.

Definition at line 400 of file MCAsmInfo.h.

References HasMachoTBSSDirective.

Referenced by llvm::AsmPrinter::EmitGlobalVariable().

Definition at line 399 of file MCAsmInfo.h.

References HasMachoZeroFillDirective.

Referenced by llvm::AsmPrinter::EmitGlobalVariable().

Definition at line 456 of file MCAsmInfo.h.

References HasNoDeadStrip.

Referenced by llvm::AsmPrinter::EmitSpecialLLVMGlobal().

Definition at line 454 of file MCAsmInfo.h.

References HasSingleParameterDotFile.

Referenced by llvm::AsmPrinter::doInitialization().

Definition at line 459 of file MCAsmInfo.h.

References HasWeakDefCanBeHiddenDirective.

Referenced by canBeHidden().

Definition at line 458 of file MCAsmInfo.h.

References HasWeakDefDirective.

True if the target is little endian.

Definition at line 354 of file MCAsmInfo.h.

References IsLittleEndian.

Referenced by llvm::MCStreamer::EmitIntValue().

True if target stack grow up.

Definition at line 357 of file MCAsmInfo.h.

References StackGrowsUp.

Referenced by getDataAlignmentFactor().

void llvm::MCAsmInfo::setCompressDebugSections ( bool  CompressDebugSections) [inline]

Definition at line 508 of file MCAsmInfo.h.

References CompressDebugSections.

Referenced by llvm::LLVMTargetMachine::initAsmInfo().

virtual void llvm::MCAsmInfo::setUseIntegratedAssembler ( bool  Value) [inline, virtual]

Set whether assembly (inline or otherwise) should be parsed.

Reimplemented in llvm::ARMELFMCAsmInfo.

Definition at line 502 of file MCAsmInfo.h.

References UseIntegratedAssembler.

Referenced by llvm::LLVMTargetMachine::initAsmInfo().

Definition at line 419 of file MCAsmInfo.h.

References UseAssignmentForEHBegin.

Referenced by llvm::DwarfCFIException::beginFunction().

Definition at line 487 of file MCAsmInfo.h.

References DwarfRegNumForCFI.

Return true if assembly (inline or otherwise) should be parsed.

Definition at line 499 of file MCAsmInfo.h.

References UseIntegratedAssembler.

Definition at line 488 of file MCAsmInfo.h.

References UseParensForSymbolVariant.

Referenced by llvm::MCExpr::print().

Definition at line 385 of file MCAsmInfo.h.

References SunStyleELFSectionSwitchSyntax.

Referenced by llvm::MCSectionELF::PrintSwitchToSection().


Member Data Documentation

This is true if the assembler allows @ characters in symbol names. Defaults to false.

Definition at line 154 of file MCAsmInfo.h.

Referenced by doesAllowAtInName(), MCAsmInfo(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().

This directive allows emission of an ascii string with the standard C escape characters embedded into it. Defaults to "\t.ascii\t"

Definition at line 171 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getAsciiDirective(), MCAsmInfo(), 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 176 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getAscizDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().

These are assembly directives that tells the assembler to interpret the following instructions differently. Defaults to ".code16", ".code32", ".code64".

Definition at line 145 of file MCAsmInfo.h.

Referenced by llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), getCode16Directive(), and MCAsmInfo().

Definition at line 147 of file MCAsmInfo.h.

Referenced by getCode64Directive(), and MCAsmInfo().

True is .comm's and .lcomms optional alignment is to be specified in bytes instead of log2(n). Defaults to true.

Definition at line 246 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getCOMMDirectiveAlignmentIsInBytes(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

Compress DWARF debug sections. Defaults to false.

Definition at line 338 of file MCAsmInfo.h.

Referenced by compressDebugSections(), MCAsmInfo(), and setCompressDebugSections().

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 182 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getData8bitsDirective(), MCAsmInfo(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

The '$' token, when not referencing an identifier or constant, refers to the current PC. Defaults to false.

Definition at line 110 of file MCAsmInfo.h.

Referenced by getDollarIsPC(), MCAsmInfo(), and llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo().

True if DWARF FDE symbol reference relocations should be replaced by an absolute difference.

Definition at line 314 of file MCAsmInfo.h.

Referenced by doDwarfFDESymbolsUseAbsDiff(), MCAsmInfo(), and llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().

True if dwarf register numbers are printed instead of symbolic register names in .cfi_* directives. Defaults to false.

Definition at line 318 of file MCAsmInfo.h.

Referenced by llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), MCAsmInfo(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::ARMELFMCAsmInfo::setUseIntegratedAssembler(), useDwarfRegNumForCFI(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().

True if Dwarf2 output generally uses relocations for references to other .debug_* sections.

Definition at line 310 of file MCAsmInfo.h.

Referenced by doesDwarfUseRelocationsAcrossSections(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

This is the directive used to declare a global entity. Defaults to NULL.

Definition at line 224 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getGlobalDirective(), MCAsmInfo(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

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 NULL.

Definition at line 195 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getGPRel32Directive(), MCAsmInfo(), 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 NULL.

Definition at line 190 of file MCAsmInfo.h.

Referenced by getGPRel64Directive(), MCAsmInfo(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().

instead of

False if the assembler requires that we use

   Lc = a - b
   .long Lc
        .long a - b

Defaults to true.

Definition at line 242 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), hasAggressiveSymbolFolding(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

True if the target has .type and .size directives, this is true for most ELF targets. Defaults to true.

Definition at line 254 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), hasDotTypeDotSizeDirective(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

True if the target has a .ident directive, this is true for ELF targets. Defaults to false.

Definition at line 262 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), hasIdentDirective(), MCAsmInfo(), and llvm::MCAsmInfoELF::MCAsmInfoELF().

True if we have a .linkonce directive. This is used on cygwin/mingw. Defaults to false.

Definition at line 282 of file MCAsmInfo.h.

Referenced by hasLinkOnceDirective(), MCAsmInfo(), and llvm::MCAsmInfoCOFF::MCAsmInfoCOFF().

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 87 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), hasMachoTBSSDirective(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

True if this is a MachO target that supports the macho-specific .zerofill directive for emitting BSS Symbols. Default is false.

Definition at line 83 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), hasMachoZeroFillDirective(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

True if this target supports the MachO .no_dead_strip directive. Defaults to false.

Definition at line 266 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), hasNoDeadStrip(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

True if the assembler supports the .set directive. Defaults to true.

Definition at line 227 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), hasSetDirective(), MCAsmInfo(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

True if the compiler should emit a ".reference .constructors_used" or ".reference .destructors_used" directive after the static ctor/dtor list. This directive is only emitted in Static relocation model. Default is false.

Definition at line 93 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), hasStaticCtorDtorReferenceInStaticMode(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

True if this target has the MachO .subsections_via_symbols directive. Default is false.

Definition at line 79 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), hasSubsectionsViaSymbols(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

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 278 of file MCAsmInfo.h.

Referenced by hasWeakDefCanBeHiddenDirective(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::PPCMCAsmInfoDarwin::PPCMCAsmInfoDarwin(), and llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().

True if we have a directive to declare a global as being a weak defined symbol. Defaults to false.

Definition at line 274 of file MCAsmInfo.h.

Referenced by hasWeakDefDirective(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

This attribute, if not MCSA_Invalid, is used to declare an undefined symbol as having hidden visibility. Defaults to MCSA_Hidden.

Definition at line 290 of file MCAsmInfo.h.

Referenced by getHiddenDeclarationVisibilityAttr(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().

This attribute, if not MCSA_Invalid, is used to declare a symbol as having hidden visibility. Defaults to MCSA_Hidden.

Definition at line 286 of file MCAsmInfo.h.

Referenced by getHiddenVisibilityAttr(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().

Definition at line 326 of file MCAsmInfo.h.

Referenced by addInitialFrameState(), and getInitialFrameState().

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 139 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getInlineAsmStart(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo().

This is appended to emitted labels. Defaults to ":".

Definition at line 121 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getLabelSuffix(), and MCAsmInfo().

Describes if the .lcomm directive for the target supports an alignment argument and how it is interpreted. Defaults to NoAlignment.

Definition at line 250 of file MCAsmInfo.h.

Referenced by getLCOMMDirectiveAlignmentType(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo().

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 135 of file MCAsmInfo.h.

Referenced by getLinkerPrivateGlobalPrefix(), hasLinkerPrivateGlobalPrefix(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

True if the linker has a bug and requires that the debug_line section be of a minimum size. In practice such a linker requires a non-empty line sequence if a file is present. Default to false.

Definition at line 98 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getLinkerRequiresNonEmptyDwarfLines(), MCAsmInfo(), and llvm::MCAsmInfoDarwin::MCAsmInfoDarwin().

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 102 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getMaxInstLength(), and MCAsmInfo().

Every possible instruction length is a multiple of this value. Factored out in .debug_frame and .debug_line. Defaults to 1.

Definition at line 106 of file MCAsmInfo.h.

Referenced by getMinInstAlignment(), MCAsmInfo(), and llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo().

This attribute, if not MCSA_Invalid, is used to declare a symbol as having protected visibility. Defaults to MCSA_Protected

Definition at line 294 of file MCAsmInfo.h.

Referenced by getProtectedVisibilityAttr(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), 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 114 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getSeparatorString(), and MCAsmInfo().

True if target stack grow up. Default is false.

Definition at line 75 of file MCAsmInfo.h.

Referenced by isStackGrowthDirectionUp(), and MCAsmInfo().

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 200 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), MCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), and usesSunStyleELFSectionSwitchSyntax().

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 159 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoDarwin::AArch64MCAsmInfoDarwin(), llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(), doesSupportDataRegionDirectives(), MCAsmInfo(), and llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin().

True if target uses parens to indicate the symbol variant instead of @. For example, foo(plt) instead of foo. Defaults to false.

Definition at line 322 of file MCAsmInfo.h.

Referenced by llvm::ARMCOFFMCAsmInfoGNU::ARMCOFFMCAsmInfoGNU(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), MCAsmInfo(), and useParensForSymbolVariant().

This directive, if non-null, is used to declare a global as being a weak undefined symbol. Defaults to NULL.

Definition at line 270 of file MCAsmInfo.h.

Referenced by llvm::AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getWeakRefDirective(), MCAsmInfo(), llvm::MCAsmInfoCOFF::MCAsmInfoCOFF(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), and llvm::MCAsmInfoELF::MCAsmInfoELF().

Windows exception handling data (.pdata) encoding. Defaults to Invalid.

Definition at line 306 of file MCAsmInfo.h.

Referenced by getWinEHEncodingType(), MCAsmInfo(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().

This should be set to the directive used to get some number of zero bytes emitted to the current section. Common cases are "\t.zero\t" and "\t.space\t". If this is set to null, the Data*bitsDirective's will be used to emit zero bytes. Defaults to "\t.zero\t"

Definition at line 167 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getZeroDirective(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::NVPTXMCAsmInfo::NVPTXMCAsmInfo(), llvm::PPCELFMCAsmInfo::PPCELFMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfo::SystemZMCAsmInfo(), and llvm::XCoreMCAsmInfo::XCoreMCAsmInfo().


The documentation for this class was generated from the following files: