LLVM API Documentation

Public Member Functions | Static Public Member Functions | Protected 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
 getPointerSize - Get the pointer size in bytes.
unsigned getCalleeSaveStackSlotSize () const
bool isLittleEndian () const
 isLittleEndian - True if the target is little endian.
bool isStackGrowthDirectionUp () const
 isStackGrowthDirectionUp - True if target stack grow up.
bool hasSubsectionsViaSymbols () const
const char * getData8bitsDirective (unsigned AS=0) const
const char * getData16bitsDirective (unsigned AS=0) const
const char * getData32bitsDirective (unsigned AS=0) const
const char * getData64bitsDirective (unsigned AS=0) 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
const MCExprgetExprForFDESymbol (const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const
bool usesSunStyleELFSectionSwitchSyntax () const
bool usesELFSectionDirectiveForBSS () const
bool hasMicrosoftFastStdCallMangling () const
bool needsDwarfSectionOffsetDirective () const
bool hasMachoZeroFillDirective () const
bool hasMachoTBSSDirective () const
bool hasStaticCtorDtorReferenceInStaticMode () const
bool getLinkerRequiresNonEmptyDwarfLines () const
unsigned getMaxInstLength () const
const char * getPCSymbol () const
const char * getSeparatorString () const
unsigned getCommentColumn () const
const char * getCommentString () const
const char * getLabelSuffix () const
const char * getDebugLabelSuffix () const
const char * getGlobalPrefix () const
const char * getPrivateGlobalPrefix () 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 doesAllowQuotesInName () const
bool doesAllowNameToStartWithDigit () const
bool doesAllowPeriodsInName () const
bool doesAllowUTF8 () const
bool doesSupportDataRegionDirectives () const
const char * getZeroDirective () const
const char * getAsciiDirective () const
const char * getAscizDirective () const
const char * getAlignDirective () const
bool getAlignmentIsInBytes () const
unsigned getTextAlignFillValue () const
const char * getGlobalDirective () const
const char * getExternDirective () const
bool hasSetDirective () const
bool hasAggressiveSymbolFolding () const
bool getCOMMDirectiveAlignmentIsInBytes () const
LCOMM::LCOMMType getLCOMMDirectiveAlignmentType () const
bool hasDotTypeDotSizeDirective () const
bool hasSingleParameterDotFile () const
bool hasNoDeadStrip () const
bool hasSymbolResolver () const
const char * getWeakRefDirective () const
const char * getWeakDefDirective () const
const char * getLinkOnceDirective () const
MCSymbolAttr getHiddenVisibilityAttr () const
MCSymbolAttr getHiddenDeclarationVisibilityAttr () const
MCSymbolAttr getProtectedVisibilityAttr () const
bool hasLEB128 () const
bool doesSupportDebugInformation () const
bool doesSupportExceptionHandling () const
ExceptionHandling::ExceptionsType getExceptionHandlingType () const
bool isExceptionHandlingDwarf () const
bool doesDwarfUseInlineInfoSection () const
bool doesDwarfUseRelocationsAcrossSections () const
bool useDwarfRegNumForCFI () const
void addInitialFrameState (const MCCFIInstruction &Inst)
const std::vector
< MCCFIInstruction > & 
getInitialFrameState () const

Static Public Member Functions

static unsigned getSLEB128Size (int Value)
static unsigned getULEB128Size (unsigned Value)

Protected Member Functions

virtual const char * getDataASDirective (unsigned Size, unsigned AS) const

Protected Attributes

unsigned PointerSize
unsigned CalleeSaveStackSlotSize
bool IsLittleEndian
bool StackGrowsUp
bool HasSubsectionsViaSymbols
bool HasMachoZeroFillDirective
bool HasMachoTBSSDirective
bool HasStaticCtorDtorReferenceInStaticMode
bool LinkerRequiresNonEmptyDwarfLines
unsigned MaxInstLength
const char * PCSymbol
const char * SeparatorString
unsigned CommentColumn
const char * CommentString
const char * LabelSuffix
 LabelSuffix - This is appended to emitted labels.
const char * DebugLabelSuffix
 LabelSuffix - This is appended to emitted labels.
const char * GlobalPrefix
const char * PrivateGlobalPrefix
const char * LinkerPrivateGlobalPrefix
const char * InlineAsmStart
const char * InlineAsmEnd
const char * Code16Directive
const char * Code32Directive
const char * Code64Directive
unsigned AssemblerDialect
 AssemblerDialect - Which dialect of an assembler variant to use.
bool AllowQuotesInName
bool AllowNameToStartWithDigit
bool AllowPeriodsInName
bool AllowUTF8
 AllowUTF8 - This is true if the assembler accepts UTF-8 input.
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 HasMicrosoftFastStdCallMangling
bool NeedsDwarfSectionOffsetDirective
const char * AlignDirective
bool AlignmentIsInBytes
unsigned TextAlignFillValue
const char * GlobalDirective
const char * ExternDirective
bool HasSetDirective
 HasSetDirective - True if the assembler supports the .set directive.
bool HasAggressiveSymbolFolding
bool COMMDirectiveAlignmentIsInBytes
LCOMM::LCOMMType LCOMMDirectiveAlignmentType
bool HasDotTypeDotSizeDirective
bool HasSingleParameterDotFile
bool HasNoDeadStrip
bool HasSymbolResolver
const char * WeakRefDirective
const char * WeakDefDirective
const char * LinkOnceDirective
MCSymbolAttr HiddenVisibilityAttr
MCSymbolAttr HiddenDeclarationVisibilityAttr
MCSymbolAttr ProtectedVisibilityAttr
bool HasLEB128
 HasLEB128 - True if target asm supports leb128 directives.
bool SupportsDebugInformation
ExceptionHandling::ExceptionsType ExceptionsType
 SupportsExceptionHandling - True if target supports exception handling.
bool DwarfUsesInlineInfoSection
bool DwarfUsesRelocationsAcrossSections
bool DwarfRegNumForCFI
std::vector< MCCFIInstructionInitialFrameState

Detailed Description

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

Definition at line 42 of file MCAsmInfo.h.


Constructor & Destructor Documentation

MCAsmInfo::MCAsmInfo ( ) [explicit]

Definition at line 25 of file MCAsmInfo.cpp.

References AlignDirective, AlignmentIsInBytes, AllowNameToStartWithDigit, AllowPeriodsInName, AllowQuotesInName, AllowUTF8, AsciiDirective, AscizDirective, AssemblerDialect, CalleeSaveStackSlotSize, Code16Directive, Code32Directive, Code64Directive, COMMDirectiveAlignmentIsInBytes, CommentColumn, CommentString, Data16bitsDirective, Data32bitsDirective, Data64bitsDirective, Data8bitsDirective, DebugLabelSuffix, DwarfRegNumForCFI, DwarfUsesInlineInfoSection, DwarfUsesRelocationsAcrossSections, ExceptionsType, GlobalDirective, GlobalPrefix, GPRel32Directive, GPRel64Directive, HasAggressiveSymbolFolding, HasDotTypeDotSizeDirective, HasLEB128, HasMachoTBSSDirective, HasMachoZeroFillDirective, HasMicrosoftFastStdCallMangling, HasNoDeadStrip, HasSetDirective, HasSingleParameterDotFile, HasStaticCtorDtorReferenceInStaticMode, HasSubsectionsViaSymbols, HasSymbolResolver, HiddenDeclarationVisibilityAttr, HiddenVisibilityAttr, InlineAsmEnd, InlineAsmStart, IsLittleEndian, LabelSuffix, LCOMMDirectiveAlignmentType, LinkerPrivateGlobalPrefix, LinkerRequiresNonEmptyDwarfLines, LinkOnceDirective, MaxInstLength, llvm::MCSA_Hidden, llvm::MCSA_Protected, NeedsDwarfSectionOffsetDirective, llvm::LCOMM::NoAlignment, llvm::None, PCSymbol, PointerSize, PrivateGlobalPrefix, ProtectedVisibilityAttr, SeparatorString, StackGrowsUp, SunStyleELFSectionSwitchSyntax, SupportsDebugInformation, TextAlignFillValue, UseDataRegionDirectives, UsesELFSectionDirectiveForBSS, WeakDefDirective, WeakRefDirective, and ZeroDirective.

MCAsmInfo::~MCAsmInfo ( ) [virtual]

Definition at line 96 of file MCAsmInfo.cpp.


Member Function Documentation

void llvm::MCAsmInfo::addInitialFrameState ( const MCCFIInstruction Inst) [inline]
bool llvm::MCAsmInfo::doesAllowNameToStartWithDigit ( ) const [inline]

Definition at line 482 of file MCAsmInfo.h.

References AllowNameToStartWithDigit.

Referenced by appendMangledName(), and NameNeedsEscaping().

bool llvm::MCAsmInfo::doesAllowPeriodsInName ( ) const [inline]

Definition at line 485 of file MCAsmInfo.h.

References AllowPeriodsInName.

Referenced by appendMangledName(), and NameNeedsEscaping().

bool llvm::MCAsmInfo::doesAllowQuotesInName ( ) const [inline]

Definition at line 479 of file MCAsmInfo.h.

References AllowQuotesInName.

bool llvm::MCAsmInfo::doesAllowUTF8 ( ) const [inline]

Definition at line 488 of file MCAsmInfo.h.

References AllowUTF8.

Referenced by appendMangledName(), and NameNeedsEscaping().

bool llvm::MCAsmInfo::doesDwarfUseInlineInfoSection ( ) const [inline]

Definition at line 561 of file MCAsmInfo.h.

References DwarfUsesInlineInfoSection.

bool llvm::MCAsmInfo::doesDwarfUseRelocationsAcrossSections ( ) const [inline]
bool llvm::MCAsmInfo::doesSupportDataRegionDirectives ( ) const [inline]

Definition at line 491 of file MCAsmInfo.h.

References UseDataRegionDirectives.

bool llvm::MCAsmInfo::doesSupportDebugInformation ( ) const [inline]

Definition at line 546 of file MCAsmInfo.h.

References SupportsDebugInformation.

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

bool llvm::MCAsmInfo::doesSupportExceptionHandling ( ) const [inline]

Definition at line 549 of file MCAsmInfo.h.

References ExceptionsType, and llvm::None.

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

Definition at line 503 of file MCAsmInfo.h.

References AlignDirective.

bool llvm::MCAsmInfo::getAlignmentIsInBytes ( ) const [inline]

Definition at line 506 of file MCAsmInfo.h.

References AlignmentIsInBytes.

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

Definition at line 497 of file MCAsmInfo.h.

References AsciiDirective.

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

Definition at line 500 of file MCAsmInfo.h.

References AscizDirective.

unsigned llvm::MCAsmInfo::getAssemblerDialect ( ) const [inline]
unsigned llvm::MCAsmInfo::getCalleeSaveStackSlotSize ( ) const [inline]

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

Definition at line 353 of file MCAsmInfo.h.

References CalleeSaveStackSlotSize.

Referenced by getDataAlignmentFactor().

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

Definition at line 467 of file MCAsmInfo.h.

References Code16Directive.

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

Definition at line 470 of file MCAsmInfo.h.

References Code32Directive.

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

Definition at line 473 of file MCAsmInfo.h.

References Code64Directive.

bool llvm::MCAsmInfo::getCOMMDirectiveAlignmentIsInBytes ( ) const [inline]

Definition at line 522 of file MCAsmInfo.h.

References COMMDirectiveAlignmentIsInBytes.

unsigned llvm::MCAsmInfo::getCommentColumn ( ) const [inline]

Definition at line 438 of file MCAsmInfo.h.

References CommentColumn.

const char* llvm::MCAsmInfo::getCommentString ( ) const [inline]
const char* llvm::MCAsmInfo::getData16bitsDirective ( unsigned  AS = 0) const [inline]

Definition at line 374 of file MCAsmInfo.h.

References Data16bitsDirective, and getDataASDirective().

const char* llvm::MCAsmInfo::getData32bitsDirective ( unsigned  AS = 0) const [inline]

Definition at line 377 of file MCAsmInfo.h.

References Data32bitsDirective, and getDataASDirective().

const char* llvm::MCAsmInfo::getData64bitsDirective ( unsigned  AS = 0) const [inline]

Definition at line 380 of file MCAsmInfo.h.

References Data64bitsDirective, and getDataASDirective().

const char* llvm::MCAsmInfo::getData8bitsDirective ( unsigned  AS = 0) const [inline]

Definition at line 371 of file MCAsmInfo.h.

References Data8bitsDirective, and getDataASDirective().

virtual const char* llvm::MCAsmInfo::getDataASDirective ( unsigned  Size,
unsigned  AS 
) const [inline, protected, virtual]

getDataASDirective - Return the directive that should be used to emit data of the specified size to the specified numeric address space.

Definition at line 201 of file MCAsmInfo.h.

Referenced by getData16bitsDirective(), getData32bitsDirective(), getData64bitsDirective(), and getData8bitsDirective().

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

Definition at line 448 of file MCAsmInfo.h.

References DebugLabelSuffix.

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

Reimplemented in llvm::X86_64MCAsmInfoDarwin.

Definition at line 124 of file MCAsmInfo.cpp.

References getExprForFDESymbol().

Referenced by EmitPersonality().

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

Definition at line 515 of file MCAsmInfo.h.

References ExternDirective.

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

Definition at line 512 of file MCAsmInfo.h.

References GlobalDirective.

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

Definition at line 452 of file MCAsmInfo.h.

References GlobalPrefix.

Referenced by llvm::MCJIT::getPointerToFunction(), and GetSymbolFromOperand().

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

Definition at line 384 of file MCAsmInfo.h.

References GPRel32Directive.

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

Definition at line 383 of file MCAsmInfo.h.

References GPRel64Directive.

MCSymbolAttr llvm::MCAsmInfo::getHiddenDeclarationVisibilityAttr ( ) const [inline]

Definition at line 537 of file MCAsmInfo.h.

References HiddenDeclarationVisibilityAttr.

MCSymbolAttr llvm::MCAsmInfo::getHiddenVisibilityAttr ( ) const [inline]

Definition at line 536 of file MCAsmInfo.h.

References HiddenVisibilityAttr.

const std::vector<MCCFIInstruction>& llvm::MCAsmInfo::getInitialFrameState ( ) const [inline]

Definition at line 575 of file MCAsmInfo.h.

References InitialFrameState.

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

Definition at line 464 of file MCAsmInfo.h.

References InlineAsmEnd.

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

Definition at line 461 of file MCAsmInfo.h.

References InlineAsmStart.

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

Definition at line 444 of file MCAsmInfo.h.

References LabelSuffix.

LCOMM::LCOMMType llvm::MCAsmInfo::getLCOMMDirectiveAlignmentType ( ) const [inline]

Definition at line 525 of file MCAsmInfo.h.

References LCOMMDirectiveAlignmentType.

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

const char* llvm::MCAsmInfo::getLinkerPrivateGlobalPrefix ( ) const [inline]
bool llvm::MCAsmInfo::getLinkerRequiresNonEmptyDwarfLines ( ) const [inline]

Definition at line 426 of file MCAsmInfo.h.

References LinkerRequiresNonEmptyDwarfLines.

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

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

Definition at line 534 of file MCAsmInfo.h.

References LinkOnceDirective.

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

unsigned llvm::MCAsmInfo::getMaxInstLength ( ) const [inline]

Definition at line 429 of file MCAsmInfo.h.

References MaxInstLength.

Referenced by llvm::TargetInstrInfo::getInlineAsmLength().

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

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

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

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

Definition at line 432 of file MCAsmInfo.h.

References PCSymbol.

unsigned llvm::MCAsmInfo::getPointerSize ( ) const [inline]

getPointerSize - Get the pointer size in bytes.

Definition at line 347 of file MCAsmInfo.h.

References PointerSize.

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

const char* llvm::MCAsmInfo::getPrivateGlobalPrefix ( ) const [inline]
MCSymbolAttr llvm::MCAsmInfo::getProtectedVisibilityAttr ( ) const [inline]

Definition at line 540 of file MCAsmInfo.h.

References ProtectedVisibilityAttr.

const char* llvm::MCAsmInfo::getSeparatorString ( ) const [inline]
unsigned MCAsmInfo::getSLEB128Size ( int  Value) [static]
unsigned llvm::MCAsmInfo::getTextAlignFillValue ( ) const [inline]

Definition at line 509 of file MCAsmInfo.h.

References TextAlignFillValue.

unsigned MCAsmInfo::getULEB128Size ( unsigned  Value) [static]
const char* llvm::MCAsmInfo::getWeakDefDirective ( ) const [inline]

Definition at line 533 of file MCAsmInfo.h.

References WeakDefDirective.

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

Definition at line 532 of file MCAsmInfo.h.

References WeakRefDirective.

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

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

Definition at line 494 of file MCAsmInfo.h.

References ZeroDirective.

bool llvm::MCAsmInfo::hasAggressiveSymbolFolding ( ) const [inline]

Definition at line 519 of file MCAsmInfo.h.

References HasAggressiveSymbolFolding.

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

bool llvm::MCAsmInfo::hasDotTypeDotSizeDirective ( ) const [inline]
bool llvm::MCAsmInfo::hasLEB128 ( ) const [inline]

Definition at line 543 of file MCAsmInfo.h.

References HasLEB128.

bool llvm::MCAsmInfo::hasMachoTBSSDirective ( ) const [inline]

Definition at line 422 of file MCAsmInfo.h.

References HasMachoTBSSDirective.

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

bool llvm::MCAsmInfo::hasMachoZeroFillDirective ( ) const [inline]

Definition at line 421 of file MCAsmInfo.h.

References HasMachoZeroFillDirective.

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

bool llvm::MCAsmInfo::hasMicrosoftFastStdCallMangling ( ) const [inline]

Definition at line 411 of file MCAsmInfo.h.

References HasMicrosoftFastStdCallMangling.

Referenced by llvm::Mangler::getNameWithPrefix().

bool llvm::MCAsmInfo::hasNoDeadStrip ( ) const [inline]

Definition at line 530 of file MCAsmInfo.h.

References HasNoDeadStrip.

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

bool llvm::MCAsmInfo::hasSetDirective ( ) const [inline]
bool llvm::MCAsmInfo::hasSingleParameterDotFile ( ) const [inline]

Definition at line 529 of file MCAsmInfo.h.

References HasSingleParameterDotFile.

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

bool llvm::MCAsmInfo::hasStaticCtorDtorReferenceInStaticMode ( ) const [inline]
bool llvm::MCAsmInfo::hasSubsectionsViaSymbols ( ) const [inline]
bool llvm::MCAsmInfo::hasSymbolResolver ( ) const [inline]

Definition at line 531 of file MCAsmInfo.h.

References HasSymbolResolver.

bool llvm::MCAsmInfo::isExceptionHandlingDwarf ( ) const [inline]
bool llvm::MCAsmInfo::isLittleEndian ( ) const [inline]

isLittleEndian - True if the target is little endian.

Definition at line 358 of file MCAsmInfo.h.

References IsLittleEndian.

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

bool llvm::MCAsmInfo::isStackGrowthDirectionUp ( ) const [inline]

isStackGrowthDirectionUp - True if target stack grow up.

Definition at line 363 of file MCAsmInfo.h.

References StackGrowsUp.

Referenced by getDataAlignmentFactor().

bool llvm::MCAsmInfo::needsDwarfSectionOffsetDirective ( ) const [inline]

Definition at line 415 of file MCAsmInfo.h.

References NeedsDwarfSectionOffsetDirective.

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

bool llvm::MCAsmInfo::useDwarfRegNumForCFI ( ) const [inline]

Definition at line 567 of file MCAsmInfo.h.

References DwarfRegNumForCFI.

bool llvm::MCAsmInfo::usesELFSectionDirectiveForBSS ( ) const [inline]
bool llvm::MCAsmInfo::usesSunStyleELFSectionSwitchSyntax ( ) const [inline]

Definition at line 403 of file MCAsmInfo.h.

References SunStyleELFSectionSwitchSyntax.

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


Member Data Documentation

const char* llvm::MCAsmInfo::AlignDirective [protected]

AlignDirective - The directive used to emit round up to an alignment boundary.

Definition at line 228 of file MCAsmInfo.h.

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

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

Definition at line 234 of file MCAsmInfo.h.

Referenced by llvm::AArch64ELFMCAsmInfo::AArch64ELFMCAsmInfo(), llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::ARMELFMCAsmInfo::ARMELFMCAsmInfo(), getAlignmentIsInBytes(), llvm::MBlazeMCAsmInfo::MBlazeMCAsmInfo(), MCAsmInfo(), llvm::MCAsmInfoDarwin::MCAsmInfoDarwin(), llvm::MipsMCAsmInfo::MipsMCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), and llvm::PPCLinuxMCAsmInfo::PPCLinuxMCAsmInfo().

AllowNameToStartWithDigit - This is true if the assembler allows symbol names to start with a digit (e.g., "0x0021"). This defaults to false.

Definition at line 149 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), doesAllowNameToStartWithDigit(), MCAsmInfo(), and llvm::MSP430MCAsmInfo::MSP430MCAsmInfo().

AllowPeriodsInName - This is true if the assembler allows periods in symbol names. This defaults to true.

Definition at line 153 of file MCAsmInfo.h.

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

AllowQuotesInName - This is true if the assembler allows for complex symbol names to be surrounded in quotes. This defaults to false.

Definition at line 145 of file MCAsmInfo.h.

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

AllowUTF8 - This is true if the assembler accepts UTF-8 input.

Definition at line 157 of file MCAsmInfo.h.

Referenced by doesAllowUTF8(), and MCAsmInfo().

const char* llvm::MCAsmInfo::AsciiDirective [protected]

AsciiDirective - This directive allows emission of an ascii string with the standard C escape characters embedded into it.

Definition at line 174 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::AscizDirective [protected]

AscizDirective - If not null, this allows for special handling of zero terminated strings on this target. This is commonly supported as ".asciz". If a target doesn't support this, it can be set to null.

Definition at line 179 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::Code16Directive [protected]

Code16Directive, Code32Directive, Code64Directive - These are assembly directives that tells the assembler to interpret the following instructions differently.

Definition at line 136 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::Code32Directive [protected]
const char* llvm::MCAsmInfo::Code64Directive [protected]

Definition at line 138 of file MCAsmInfo.h.

Referenced by getCode64Directive(), and MCAsmInfo().

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

Definition at line 263 of file MCAsmInfo.h.

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

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

Definition at line 102 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::CommentString [protected]
const char* llvm::MCAsmInfo::Data16bitsDirective [protected]
const char* llvm::MCAsmInfo::Data32bitsDirective [protected]
const char* llvm::MCAsmInfo::Data64bitsDirective [protected]
const char* llvm::MCAsmInfo::Data8bitsDirective [protected]

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

Definition at line 184 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::DebugLabelSuffix [protected]

LabelSuffix - This is appended to emitted labels.

Definition at line 112 of file MCAsmInfo.h.

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

DwarfRegNumForCFI - True if dwarf register numbers are printed instead of symbolic register names in .cfi_* directives.

Definition at line 332 of file MCAsmInfo.h.

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

DwarfUsesInlineInfoSection - True if DwarfDebugInlineSection is used to encode inline subroutine information.

Definition at line 324 of file MCAsmInfo.h.

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

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

Definition at line 328 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::ExternDirective [protected]

ExternDirective - This is the directive used to declare external globals.

Definition at line 249 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), and getExternDirective().

const char* llvm::MCAsmInfo::GlobalDirective [protected]

GlobalDirective - This is the directive used to declare a global entity.

Definition at line 244 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::GlobalPrefix [protected]
const char* llvm::MCAsmInfo::GPRel32Directive [protected]

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

Definition at line 197 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getGPRel32Directive(), llvm::MBlazeMCAsmInfo::MBlazeMCAsmInfo(), MCAsmInfo(), and llvm::MipsMCAsmInfo::MipsMCAsmInfo().

const char* llvm::MCAsmInfo::GPRel64Directive [protected]

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

Definition at line 192 of file MCAsmInfo.h.

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

HasAggressiveSymbolFolding - False if the assembler requires that we use Lc = a - b .long Lc instead of .long a - b

Definition at line 259 of file MCAsmInfo.h.

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

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

Definition at line 271 of file MCAsmInfo.h.

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

HasMachoTBSSDirective - True if this is a MachO target that supports the macho-specific .tbss directive for emitting thread local BSS Symbols

Definition at line 75 of file MCAsmInfo.h.

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

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

Definition at line 71 of file MCAsmInfo.h.

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

HasMicrosoftFastStdCallMangling - True if this target uses microsoft style mangling for functions with X86_StdCall/X86_FastCall calling convention.

Definition at line 219 of file MCAsmInfo.h.

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

HasNoDeadStrip - True if this target supports the MachO .no_dead_strip directive.

Definition at line 279 of file MCAsmInfo.h.

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

HasSetDirective - True if the assembler supports the .set directive.

Definition at line 252 of file MCAsmInfo.h.

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

HasSingleParameterDotFile - True if the target has a single parameter .file directive, this is true for ELF targets.

Definition at line 275 of file MCAsmInfo.h.

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

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

Definition at line 81 of file MCAsmInfo.h.

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

HasSubsectionsViaSymbols - True if this target has the MachO .subsections_via_symbols directive.

Definition at line 67 of file MCAsmInfo.h.

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

HasSymbolResolver - True if this target supports the MachO .symbol_resolver directive.

Definition at line 283 of file MCAsmInfo.h.

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

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

Definition at line 303 of file MCAsmInfo.h.

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

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

Definition at line 299 of file MCAsmInfo.h.

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

Definition at line 336 of file MCAsmInfo.h.

Referenced by addInitialFrameState(), and getInitialFrameState().

const char* llvm::MCAsmInfo::InlineAsmEnd [protected]
const char* llvm::MCAsmInfo::InlineAsmStart [protected]

InlineAsmStart/End - If these are nonempty, they contain a directive to emit before and after an inline assembly statement.

Definition at line 130 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::LabelSuffix [protected]

LabelSuffix - This is appended to emitted labels.

Definition at line 109 of file MCAsmInfo.h.

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

LCOMMDirectiveAlignment - Describes if the .lcomm directive for the target supports an alignment argument and how it is interpreted.

Definition at line 267 of file MCAsmInfo.h.

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

LinkerPrivateGlobalPrefix - This prefix is used for symbols that should be passed through the assembler but be removed by the linker. This is "l" on Darwin, currently used for some ObjC metadata.

Definition at line 126 of file MCAsmInfo.h.

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

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

Definition at line 86 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::LinkOnceDirective [protected]

LinkOnceDirective - This directive, if non-null is used to declare a global as being a weak defined symbol. This is used on cygwin/mingw.

Definition at line 295 of file MCAsmInfo.h.

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

MaxInstLength - This is the maximum possible length of an instruction, which is needed to compute the size of an inline asm.

Definition at line 90 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::PCSymbol [protected]
const char* llvm::MCAsmInfo::PrivateGlobalPrefix [protected]

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

Definition at line 308 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::SeparatorString [protected]

SeparatorString - This string, if specified, is used to separate instructions from each other when on the same line.

Definition at line 98 of file MCAsmInfo.h.

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

StackGrowsUp - True if target stack grow up. Default is false.

Definition at line 63 of file MCAsmInfo.h.

Referenced by isStackGrowthDirectionUp(), llvm::MBlazeMCAsmInfo::MBlazeMCAsmInfo(), and MCAsmInfo().

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

Definition at line 209 of file MCAsmInfo.h.

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

TextAlignFillValue - If non-zero, this is used to fill the executable space created as the result of a alignment directive.

Definition at line 238 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), getTextAlignFillValue(), MCAsmInfo(), llvm::X86ELFMCAsmInfo::X86ELFMCAsmInfo(), llvm::X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(), llvm::X86MCAsmInfoGNUCOFF::X86MCAsmInfoGNUCOFF(), and llvm::X86MCAsmInfoMicrosoft::X86MCAsmInfoMicrosoft().

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

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

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

Definition at line 214 of file MCAsmInfo.h.

Referenced by llvm::AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(), llvm::HexagonMCAsmInfo::HexagonMCAsmInfo(), MCAsmInfo(), llvm::MSP430MCAsmInfo::MSP430MCAsmInfo(), llvm::PPCLinuxMCAsmInfo::PPCLinuxMCAsmInfo(), llvm::SparcELFMCAsmInfo::SparcELFMCAsmInfo(), llvm::SystemZMCAsmInfo::SystemZMCAsmInfo(), and usesELFSectionDirectiveForBSS().

const char* llvm::MCAsmInfo::WeakDefDirective [protected]

WeakDefDirective - This directive, if non-null, is used to declare a global as being a weak defined symbol.

Definition at line 291 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::WeakRefDirective [protected]
const char* llvm::MCAsmInfo::ZeroDirective [protected]

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

Definition at line 170 of file MCAsmInfo.h.

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


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