LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
llvm::MCAsmInfo Class Reference

#include <MCAsmInfo.h>

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

Public Member Functions

 MCAsmInfo ()
 
virtual ~MCAsmInfo ()
 
unsigned getPointerSize () const
 getPointerSize - Get the pointer size in bytes. More...
 
unsigned getCalleeSaveStackSlotSize () const
 
bool isLittleEndian () const
 isLittleEndian - True if the target is little endian. More...
 
bool isStackGrowthDirectionUp () const
 isStackGrowthDirectionUp - True if target stack grow up. More...
 
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
 
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
 
unsigned getMinInstAlignment () const
 
bool getDollarIsPC () 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 doesAllowAtInName () 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
 
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
 
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 doesDwarfUseRelocationsAcrossSections () const
 
bool useDwarfRegNumForCFI () const
 
void addInitialFrameState (const MCCFIInstruction &Inst)
 
const std::vector
< MCCFIInstruction > & 
getInitialFrameState () const
 

Static Public Member Functions

static unsigned getSLEB128Size (int64_t Value)
 
static unsigned getULEB128Size (uint64_t Value)
 

Protected Attributes

unsigned PointerSize
 
unsigned CalleeSaveStackSlotSize
 
bool IsLittleEndian
 
bool StackGrowsUp
 
bool HasSubsectionsViaSymbols
 
bool HasMachoZeroFillDirective
 
bool HasMachoTBSSDirective
 
bool HasStaticCtorDtorReferenceInStaticMode
 
bool LinkerRequiresNonEmptyDwarfLines
 
unsigned MaxInstLength
 
unsigned MinInstAlignment
 
bool DollarIsPC
 
const char * SeparatorString
 
unsigned CommentColumn
 
const char * CommentString
 
const char * LabelSuffix
 LabelSuffix - This is appended to emitted labels. More...
 
const char * DebugLabelSuffix
 LabelSuffix - This is appended to emitted labels. More...
 
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. More...
 
bool AllowAtInName
 This is true if the assembler allows @ characters in symbol names. Defaults to false. More...
 
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
 
bool HasSetDirective
 HasSetDirective - True if the assembler supports the .set directive. More...
 
bool HasAggressiveSymbolFolding
 
bool COMMDirectiveAlignmentIsInBytes
 
LCOMM::LCOMMType LCOMMDirectiveAlignmentType
 
bool HasDotTypeDotSizeDirective
 
bool HasSingleParameterDotFile
 
bool HasIdentDirective
 
bool HasNoDeadStrip
 
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. More...
 
bool SupportsDebugInformation
 
ExceptionHandling::ExceptionsType ExceptionsType
 SupportsExceptionHandling - True if target supports exception handling. More...
 
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, AllowAtInName, AsciiDirective, AscizDirective, AssemblerDialect, CalleeSaveStackSlotSize, Code16Directive, Code32Directive, Code64Directive, COMMDirectiveAlignmentIsInBytes, CommentColumn, CommentString, Data16bitsDirective, Data32bitsDirective, Data64bitsDirective, Data8bitsDirective, DebugLabelSuffix, DollarIsPC, DwarfRegNumForCFI, DwarfUsesRelocationsAcrossSections, ExceptionsType, GlobalDirective, GlobalPrefix, GPRel32Directive, GPRel64Directive, HasAggressiveSymbolFolding, HasDotTypeDotSizeDirective, HasIdentDirective, HasLEB128, HasMachoTBSSDirective, HasMachoZeroFillDirective, HasMicrosoftFastStdCallMangling, HasNoDeadStrip, HasSetDirective, HasSingleParameterDotFile, HasStaticCtorDtorReferenceInStaticMode, HasSubsectionsViaSymbols, HiddenDeclarationVisibilityAttr, HiddenVisibilityAttr, InlineAsmEnd, InlineAsmStart, IsLittleEndian, LabelSuffix, LCOMMDirectiveAlignmentType, LinkerPrivateGlobalPrefix, LinkerRequiresNonEmptyDwarfLines, LinkOnceDirective, MaxInstLength, llvm::MCSA_Hidden, llvm::MCSA_Protected, MinInstAlignment, NeedsDwarfSectionOffsetDirective, llvm::LCOMM::NoAlignment, llvm::ExceptionHandling::None, PointerSize, PrivateGlobalPrefix, ProtectedVisibilityAttr, SeparatorString, StackGrowsUp, SunStyleELFSectionSwitchSyntax, SupportsDebugInformation, TextAlignFillValue, UseDataRegionDirectives, UsesELFSectionDirectiveForBSS, WeakDefDirective, WeakRefDirective, and ZeroDirective.

MCAsmInfo::~MCAsmInfo ( )
virtual

Definition at line 93 of file MCAsmInfo.cpp.

Member Function Documentation

void llvm::MCAsmInfo::addInitialFrameState ( const MCCFIInstruction Inst)
inline
bool llvm::MCAsmInfo::doesAllowAtInName ( ) const
inline

Definition at line 458 of file MCAsmInfo.h.

References AllowAtInName.

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

Definition at line 461 of file MCAsmInfo.h.

References UseDataRegionDirectives.

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

Definition at line 513 of file MCAsmInfo.h.

References SupportsDebugInformation.

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

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

Definition at line 516 of file MCAsmInfo.h.

References ExceptionsType, and llvm::ExceptionHandling::None.

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

Definition at line 473 of file MCAsmInfo.h.

References AlignDirective.

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

Definition at line 476 of file MCAsmInfo.h.

References AlignmentIsInBytes.

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

Definition at line 467 of file MCAsmInfo.h.

References AsciiDirective.

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

Definition at line 470 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 329 of file MCAsmInfo.h.

References CalleeSaveStackSlotSize.

Referenced by getDataAlignmentFactor().

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

Definition at line 446 of file MCAsmInfo.h.

References Code16Directive.

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

Definition at line 449 of file MCAsmInfo.h.

References Code32Directive.

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

Definition at line 452 of file MCAsmInfo.h.

References Code64Directive.

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

Definition at line 489 of file MCAsmInfo.h.

References COMMDirectiveAlignmentIsInBytes.

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

Definition at line 417 of file MCAsmInfo.h.

References CommentColumn.

Referenced by emitComments().

const char* llvm::MCAsmInfo::getCommentString ( ) const
inline
const char* llvm::MCAsmInfo::getData16bitsDirective ( ) const
inline

Definition at line 350 of file MCAsmInfo.h.

References Data16bitsDirective.

const char* llvm::MCAsmInfo::getData32bitsDirective ( ) const
inline

Definition at line 353 of file MCAsmInfo.h.

References Data32bitsDirective.

const char* llvm::MCAsmInfo::getData64bitsDirective ( ) const
inline

Definition at line 356 of file MCAsmInfo.h.

References Data64bitsDirective.

const char* llvm::MCAsmInfo::getData8bitsDirective ( ) const
inline

Definition at line 347 of file MCAsmInfo.h.

References Data8bitsDirective.

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

Definition at line 427 of file MCAsmInfo.h.

References DebugLabelSuffix.

bool llvm::MCAsmInfo::getDollarIsPC ( ) const
inline

Definition at line 411 of file MCAsmInfo.h.

References DollarIsPC.

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 121 of file MCAsmInfo.cpp.

References getExprForFDESymbol().

Referenced by EmitPersonality().

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

Definition at line 482 of file MCAsmInfo.h.

References GlobalDirective.

const char* llvm::MCAsmInfo::getGlobalPrefix ( ) const
inline
const char* llvm::MCAsmInfo::getGPRel32Directive ( ) const
inline

Definition at line 360 of file MCAsmInfo.h.

References GPRel32Directive.

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

Definition at line 359 of file MCAsmInfo.h.

References GPRel64Directive.

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

Definition at line 504 of file MCAsmInfo.h.

References HiddenDeclarationVisibilityAttr.

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

Definition at line 503 of file MCAsmInfo.h.

References HiddenVisibilityAttr.

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

Definition at line 539 of file MCAsmInfo.h.

References InitialFrameState.

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

Definition at line 443 of file MCAsmInfo.h.

References InlineAsmEnd.

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

Definition at line 440 of file MCAsmInfo.h.

References InlineAsmStart.

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

Definition at line 423 of file MCAsmInfo.h.

References LabelSuffix.

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

Definition at line 492 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 402 of file MCAsmInfo.h.

References LinkerRequiresNonEmptyDwarfLines.

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

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

Definition at line 501 of file MCAsmInfo.h.

References LinkOnceDirective.

unsigned llvm::MCAsmInfo::getMaxInstLength ( ) const
inline
unsigned llvm::MCAsmInfo::getMinInstAlignment ( ) const
inline

Definition at line 408 of file MCAsmInfo.h.

References MinInstAlignment.

Referenced by llvm::MCDwarfFileTable::EmitCU(), and ScaleAddrDelta().

virtual const MCSection* llvm::MCAsmInfo::getNonexecutableStackSection ( MCContext Ctx) const
inlinevirtual

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

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

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

getPointerSize - Get the pointer size in bytes.

Definition at line 323 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 507 of file MCAsmInfo.h.

References ProtectedVisibilityAttr.

const char* llvm::MCAsmInfo::getSeparatorString ( ) const
inline
unsigned MCAsmInfo::getSLEB128Size ( int64_t  Value)
static
unsigned llvm::MCAsmInfo::getTextAlignFillValue ( ) const
inline

Definition at line 479 of file MCAsmInfo.h.

References TextAlignFillValue.

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

Definition at line 500 of file MCAsmInfo.h.

References WeakDefDirective.

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

Definition at line 499 of file MCAsmInfo.h.

References WeakRefDirective.

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

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

Definition at line 464 of file MCAsmInfo.h.

References ZeroDirective.

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

Definition at line 486 of file MCAsmInfo.h.

References HasAggressiveSymbolFolding.

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

bool llvm::MCAsmInfo::hasDotTypeDotSizeDirective ( ) const
inline
bool llvm::MCAsmInfo::hasIdentDirective ( ) const
inline

Definition at line 497 of file MCAsmInfo.h.

References HasIdentDirective.

bool llvm::MCAsmInfo::hasLEB128 ( ) const
inline

Definition at line 510 of file MCAsmInfo.h.

References HasLEB128.

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

Definition at line 398 of file MCAsmInfo.h.

References HasMachoTBSSDirective.

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

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

Definition at line 397 of file MCAsmInfo.h.

References HasMachoZeroFillDirective.

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

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

Definition at line 387 of file MCAsmInfo.h.

References HasMicrosoftFastStdCallMangling.

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

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

Definition at line 498 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 496 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::isExceptionHandlingDwarf ( ) const
inline
bool llvm::MCAsmInfo::isLittleEndian ( ) const
inline

isLittleEndian - True if the target is little endian.

Definition at line 334 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 339 of file MCAsmInfo.h.

References StackGrowsUp.

Referenced by getDataAlignmentFactor().

bool llvm::MCAsmInfo::needsDwarfSectionOffsetDirective ( ) const
inline
bool llvm::MCAsmInfo::useDwarfRegNumForCFI ( ) const
inline

Definition at line 531 of file MCAsmInfo.h.

References DwarfRegNumForCFI.

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

Definition at line 379 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 213 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::AlignmentIsInBytes
protected

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

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

bool llvm::MCAsmInfo::AllowAtInName
protected

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

Definition at line 149 of file MCAsmInfo.h.

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

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

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

unsigned llvm::MCAsmInfo::AssemblerDialect
protected
unsigned llvm::MCAsmInfo::CalleeSaveStackSlotSize
protected
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 140 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 142 of file MCAsmInfo.h.

Referenced by getCode64Directive(), and MCAsmInfo().

bool llvm::MCAsmInfo::COMMDirectiveAlignmentIsInBytes
protected

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

Definition at line 243 of file MCAsmInfo.h.

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

unsigned llvm::MCAsmInfo::CommentColumn
protected

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

Definition at line 106 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 176 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 116 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::DollarIsPC
protected

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

Definition at line 98 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::DwarfRegNumForCFI
protected

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

Definition at line 308 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::DwarfUsesRelocationsAcrossSections
protected

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

Definition at line 304 of file MCAsmInfo.h.

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

ExceptionHandling::ExceptionsType llvm::MCAsmInfo::ExceptionsType
protected
const char* llvm::MCAsmInfo::GlobalDirective
protected

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

Definition at line 229 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 189 of file MCAsmInfo.h.

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

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

bool llvm::MCAsmInfo::HasAggressiveSymbolFolding
protected

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

Definition at line 239 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::HasDotTypeDotSizeDirective
protected

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

Definition at line 251 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::HasIdentDirective
protected

hasIdentDirective - True if the target has a .ident directive, this is true for ELF targets.

Definition at line 259 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::HasLEB128
protected
bool llvm::MCAsmInfo::HasMachoTBSSDirective
protected

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().

bool llvm::MCAsmInfo::HasMachoZeroFillDirective
protected

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().

bool llvm::MCAsmInfo::HasMicrosoftFastStdCallMangling
protected

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

Definition at line 204 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::HasNoDeadStrip
protected

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

Definition at line 263 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::HasSetDirective
protected

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

Definition at line 232 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::HasSingleParameterDotFile
protected

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

Definition at line 255 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::HasStaticCtorDtorReferenceInStaticMode
protected

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().

bool llvm::MCAsmInfo::HasSubsectionsViaSymbols
protected

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().

MCSymbolAttr llvm::MCAsmInfo::HiddenDeclarationVisibilityAttr
protected

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

Definition at line 283 of file MCAsmInfo.h.

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

MCSymbolAttr llvm::MCAsmInfo::HiddenVisibilityAttr
protected

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

Definition at line 279 of file MCAsmInfo.h.

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

std::vector<MCCFIInstruction> llvm::MCAsmInfo::InitialFrameState
protected

Definition at line 312 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 134 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::IsLittleEndian
protected
const char* llvm::MCAsmInfo::LabelSuffix
protected

LabelSuffix - This is appended to emitted labels.

Definition at line 113 of file MCAsmInfo.h.

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

LCOMM::LCOMMType llvm::MCAsmInfo::LCOMMDirectiveAlignmentType
protected

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

Definition at line 247 of file MCAsmInfo.h.

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

const char* llvm::MCAsmInfo::LinkerPrivateGlobalPrefix
protected

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

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

bool llvm::MCAsmInfo::LinkerRequiresNonEmptyDwarfLines
protected

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

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

unsigned llvm::MCAsmInfo::MaxInstLength
protected

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().

unsigned llvm::MCAsmInfo::MinInstAlignment
protected

MinInstAlignment - Every possible instruction length is a multiple of this value. Factored out in .debug_frame and .debug_line.

Definition at line 94 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::NeedsDwarfSectionOffsetDirective
protected
unsigned llvm::MCAsmInfo::PointerSize
protected
const char* llvm::MCAsmInfo::PrivateGlobalPrefix
protected
MCSymbolAttr llvm::MCAsmInfo::ProtectedVisibilityAttr
protected

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

Definition at line 288 of file MCAsmInfo.h.

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

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

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

bool llvm::MCAsmInfo::StackGrowsUp
protected

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

Definition at line 63 of file MCAsmInfo.h.

Referenced by isStackGrowthDirectionUp(), and MCAsmInfo().

bool llvm::MCAsmInfo::SunStyleELFSectionSwitchSyntax
protected

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

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

bool llvm::MCAsmInfo::SupportsDebugInformation
protected
unsigned llvm::MCAsmInfo::TextAlignFillValue
protected

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

Definition at line 223 of file MCAsmInfo.h.

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

bool llvm::MCAsmInfo::UseDataRegionDirectives
protected

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

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

bool llvm::MCAsmInfo::UsesELFSectionDirectiveForBSS
protected

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

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

const char* llvm::MCAsmInfo::WeakRefDirective
protected

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

Definition at line 267 of file MCAsmInfo.h.

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

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 162 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: