class TargetLoweringObjectFileMachO
Declaration
class TargetLoweringObjectFileMachO : public TargetLoweringObjectFile { /* full declaration omitted */ };
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:115
Inherits from: TargetLoweringObjectFile
Member Variables
Inherited from TargetLoweringObjectFile:
- protected SupportIndirectSymViaGOTPCRel = false
- protected SupportGOTPCRelWithOffset = true
- protected SupportDebugThreadLocalLocation = true
- protected SupportDSOLocalEquivalentLowering = false
- protected PersonalityEncoding = 0
- protected LSDAEncoding = 0
- protected TTypeEncoding = 0
- protected CallSiteEncoding = 0
- protected StaticCtorSection = nullptr
- protected StaticDtorSection = nullptr
- protected TM = nullptr
Inherited from MCObjectFileInfo:
- protected CommDirectiveSupportsAlignment = false
- protected SupportsWeakOmittedEHFrame = false
- protected SupportsCompactUnwindWithoutEHFrame = false
- protected OmitDwarfIfHaveCompactUnwind = false
- protected FDECFIEncoding = 0
- protected CompactUnwindDwarfEHFrameOnly = 0
- protected TextSection = nullptr
- protected DataSection = nullptr
- protected BSSSection = nullptr
- protected ReadOnlySection = nullptr
- protected LSDASection = nullptr
- protected CompactUnwindSection = nullptr
- protected DwarfAbbrevSection = nullptr
- protected DwarfInfoSection = nullptr
- protected DwarfLineSection = nullptr
- protected DwarfLineStrSection = nullptr
- protected DwarfFrameSection = nullptr
- protected DwarfPubTypesSection = nullptr
- protected DwarfDebugInlineSection = nullptr
- protected DwarfStrSection = nullptr
- protected DwarfLocSection = nullptr
- protected DwarfARangesSection = nullptr
- protected DwarfRangesSection = nullptr
- protected DwarfMacinfoSection = nullptr
- protected DwarfMacroSection = nullptr
- protected DwarfPubNamesSection = nullptr
- protected DwarfDebugNamesSection = nullptr
- protected DwarfAccelNamesSection = nullptr
- protected DwarfAccelObjCSection = nullptr
- protected DwarfAccelNamespaceSection = nullptr
- protected DwarfAccelTypesSection = nullptr
- protected DwarfInfoDWOSection = nullptr
- protected DwarfTypesDWOSection = nullptr
- protected DwarfAbbrevDWOSection = nullptr
- protected DwarfStrDWOSection = nullptr
- protected DwarfLineDWOSection = nullptr
- protected DwarfLocDWOSection = nullptr
- protected DwarfStrOffDWOSection = nullptr
- protected DwarfMacinfoDWOSection = nullptr
- protected DwarfMacroDWOSection = nullptr
- protected DwarfStrOffSection = nullptr
- protected DwarfAddrSection = nullptr
- protected DwarfRnglistsSection = nullptr
- protected DwarfLoclistsSection = nullptr
- protected DwarfRnglistsDWOSection = nullptr
- protected DwarfLoclistsDWOSection = nullptr
- protected DwarfCUIndexSection = nullptr
- protected DwarfTUIndexSection = nullptr
- protected DwarfGnuPubNamesSection = nullptr
- protected DwarfGnuPubTypesSection = nullptr
- protected DwarfSwiftASTSection = nullptr
- protected COFFDebugSymbolsSection = nullptr
- protected COFFDebugTypesSection = nullptr
- protected COFFGlobalTypeHashesSection = nullptr
- protected TLSExtraDataSection = nullptr
- protected TLSDataSection = nullptr
- protected TLSBSSSection = nullptr
- protected StackMapSection = nullptr
- protected FaultMapSection = nullptr
- protected RemarksSection = nullptr
- protected EHFrameSection = nullptr
- protected StackSizesSection = nullptr
- protected PseudoProbeSection = nullptr
- protected PseudoProbeDescSection = nullptr
- protected DataRelROSection = nullptr
- protected MergeableConst4Section = nullptr
- protected MergeableConst8Section = nullptr
- protected MergeableConst16Section = nullptr
- protected MergeableConst32Section = nullptr
- protected TLSTLVSection = nullptr
- protected TLSThreadInitSection = nullptr
- protected CStringSection = nullptr
- protected UStringSection = nullptr
- protected TextCoalSection = nullptr
- protected ConstTextCoalSection = nullptr
- protected ConstDataSection = nullptr
- protected DataCoalSection = nullptr
- protected ConstDataCoalSection = nullptr
- protected DataCommonSection = nullptr
- protected DataBSSSection = nullptr
- protected FourByteConstantSection = nullptr
- protected EightByteConstantSection = nullptr
- protected SixteenByteConstantSection = nullptr
- protected LazySymbolPointerSection = nullptr
- protected NonLazySymbolPointerSection = nullptr
- protected ThreadLocalPointerSection = nullptr
- protected AddrSigSection = nullptr
- protected DrectveSection = nullptr
- protected PDataSection = nullptr
- protected XDataSection = nullptr
- protected SXDataSection = nullptr
- protected GEHContSection = nullptr
- protected GFIDsSection = nullptr
- protected GIATsSection = nullptr
- protected GLJMPSection = nullptr
- protected PPA1Section = nullptr
- protected TOCBaseSection = nullptr
- protected ReadOnly8Section = nullptr
- protected ReadOnly16Section = nullptr
- protected Swift5ReflectionSections = {}
Method Overview
- public void Initialize(llvm::MCContext & Ctx, const llvm::TargetMachine & TM)
- public llvm::MCSection * SelectSectionForGlobal(const llvm::GlobalObject * GO, llvm::SectionKind Kind, const llvm::TargetMachine & TM) const
- public TargetLoweringObjectFileMachO()
- public void emitModuleMetadata(llvm::MCStreamer & Streamer, llvm::Module & M) const
- public llvm::MCSymbol * getCFIPersonalitySymbol(const llvm::GlobalValue * GV, const llvm::TargetMachine & TM, llvm::MachineModuleInfo * MMI) const
- public llvm::MCSection * getExplicitSectionGlobal(const llvm::GlobalObject * GO, llvm::SectionKind Kind, const llvm::TargetMachine & TM) const
- public const llvm::MCExpr * getIndirectSymViaGOTPCRel(const llvm::GlobalValue * GV, const llvm::MCSymbol * Sym, const llvm::MCValue & MV, int64_t Offset, llvm::MachineModuleInfo * MMI, llvm::MCStreamer & Streamer) const
- public void getNameWithPrefix(SmallVectorImpl<char> & OutName, const llvm::GlobalValue * GV, const llvm::TargetMachine & TM) const
- public llvm::MCSection * getSectionForConstant(const llvm::DataLayout & DL, llvm::SectionKind Kind, const llvm::Constant * C, llvm::Align & Alignment) const
- public llvm::MCSection * getStaticDtorSection(unsigned int Priority, const llvm::MCSymbol * KeySym) const
- public const llvm::MCExpr * getTTypeGlobalReference(const llvm::GlobalValue * GV, unsigned int Encoding, const llvm::TargetMachine & TM, llvm::MachineModuleInfo * MMI, llvm::MCStreamer & Streamer) const
- public ~TargetLoweringObjectFileMachO()
Inherited from TargetLoweringObjectFile:
- public Initialize
- public SectionForGlobal
- public SectionForGlobal
- protected SelectSectionForGlobal
- public emitCGProfileMetadata
- public emitModuleMetadata
- public emitPersonalityValue
- public getCFIPersonalitySymbol
- public getCallSiteEncoding
- public getDebugThreadLocalSymbol
- public getExplicitSectionGlobal
- public getFunctionEntryPointSymbol
- public getIndirectSymViaGOTPCRel
- public getIndirectSymViaRWPI
- public getKindForGlobal
- public getLSDAEncoding
- public getMangler
- public getModuleMetadata
- public getNameWithPrefix
- public getPersonalityEncoding
- public getSectionForCommandLines
- public getSectionForConstant
- public getSectionForExternalReference
- public getSectionForFunctionDescriptor
- public getSectionForJumpTable
- public getSectionForLSDA
- public getSectionForMachineBasicBlock
- public getSectionForTOCEntry
- public getStaticBase
- public getStaticCtorSection
- public getStaticDtorSection
- public getSymbolWithGlobalValueBase
- public getTTypeEncoding
- public getTTypeGlobalReference
- public getTTypeReference
- public getTargetSymbol
- public getUniqueSectionForFunction
- public lowerDSOLocalEquivalent
- public lowerRelativeReference
- public shouldPutJumpTableInFunctionSection
- public supportDSOLocalEquivalentLowering
- public supportDebugThreadLocalLocation
- public supportGOTPCRelWithOffset
- public supportIndirectSymViaGOTPCRel
Inherited from MCObjectFileInfo:
- public getAddrSigSection
- public getBBAddrMapSection
- public getBSSSection
- public getCOFFDebugSymbolsSection
- public getCOFFDebugTypesSection
- public getCOFFGlobalTypeHashesSection
- public getCStringSection
- public getCommDirectiveSupportsAlignment
- public getCompactUnwindDwarfEHFrameOnly
- public getCompactUnwindSection
- public getConstDataCoalSection
- public getConstDataSection
- public getConstTextCoalSection
- public getContext
- public getDarwinTargetVariantSDKVersion
- public getDarwinTargetVariantTriple
- public getDataBSSSection
- public getDataCoalSection
- public getDataCommonSection
- public getDataRelROSection
- public getDataSection
- public getDrectveSection
- public getDwarfARangesSection
- public getDwarfAbbrevDWOSection
- public getDwarfAbbrevSection
- public getDwarfAccelNamesSection
- public getDwarfAccelNamespaceSection
- public getDwarfAccelObjCSection
- public getDwarfAccelTypesSection
- public getDwarfAddrSection
- public getDwarfCUIndexSection
- public getDwarfDebugInlineSection
- public getDwarfDebugNamesSection
- public getDwarfFrameSection
- public getDwarfGnuPubNamesSection
- public getDwarfGnuPubTypesSection
- public getDwarfInfoDWOSection
- public getDwarfInfoSection
- public getDwarfInfoSection
- public getDwarfLineDWOSection
- public getDwarfLineSection
- public getDwarfLineStrSection
- public getDwarfLocDWOSection
- public getDwarfLocSection
- public getDwarfLoclistsDWOSection
- public getDwarfLoclistsSection
- public getDwarfMacinfoDWOSection
- public getDwarfMacinfoSection
- public getDwarfMacroDWOSection
- public getDwarfMacroSection
- public getDwarfPubNamesSection
- public getDwarfPubTypesSection
- public getDwarfRangesSection
- public getDwarfRnglistsDWOSection
- public getDwarfRnglistsSection
- public getDwarfStrDWOSection
- public getDwarfStrOffDWOSection
- public getDwarfStrOffSection
- public getDwarfStrSection
- public getDwarfSwiftASTSection
- public getDwarfTUIndexSection
- public getDwarfTypesDWOSection
- public getDwarfTypesSection
- public getEHFrameSection
- public getEightByteConstantSection
- public getFDEEncoding
- public getFaultMapSection
- public getFourByteConstantSection
- public getGEHContSection
- public getGFIDsSection
- public getGIATsSection
- public getGLJMPSection
- public getLSDASection
- public getLazySymbolPointerSection
- public getMergeableConst16Section
- public getMergeableConst32Section
- public getMergeableConst4Section
- public getMergeableConst8Section
- public getNonLazySymbolPointerSection
- public getOmitDwarfIfHaveCompactUnwind
- public getPDataSection
- public getPPA1Section
- public getPseudoProbeDescSection
- public getPseudoProbeSection
- public getReadOnlySection
- public getRemarksSection
- public getSDKVersion
- public getSXDataSection
- public getSixteenByteConstantSection
- public getStackMapSection
- public getStackSizesSection
- public getSupportsCompactUnwindWithoutEHFrame
- public getSupportsWeakOmittedEHFrame
- public getSwift5ReflectionSection
- public getTLSBSSSection
- public getTLSDataSection
- public getTLSExtraDataSection
- public getTLSTLVSection
- public getTLSThreadInitSection
- public getTOCBaseSection
- public getTextCoalSection
- public getTextSection
- public getTextSectionAlignment
- public getThreadLocalPointerSection
- public getUStringSection
- public getXDataSection
- public initMCObjectFileInfo
- public isPositionIndependent
- public setDarwinTargetVariantSDKVersion
- public setDarwinTargetVariantTriple
- public setSDKVersion
Methods
¶void Initialize(llvm::MCContext& Ctx,
const llvm::TargetMachine& TM)
void Initialize(llvm::MCContext& Ctx,
const llvm::TargetMachine& TM)
Description
This method must be called before any actual lowering is done. This specifies the current context for codegen, and gives the lowering implementations a chance to set up their default sections.
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:120
Parameters
- llvm::MCContext& Ctx
- const llvm::TargetMachine& TM
¶llvm::MCSection* SelectSectionForGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
llvm::MCSection* SelectSectionForGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:128
Parameters
- const llvm::GlobalObject* GO
- llvm::SectionKind Kind
- const llvm::TargetMachine& TM
¶TargetLoweringObjectFileMachO()
TargetLoweringObjectFileMachO()
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:117
¶void emitModuleMetadata(
llvm::MCStreamer& Streamer,
llvm::Module& M) const
void emitModuleMetadata(
llvm::MCStreamer& Streamer,
llvm::Module& M) const
Description
Emit the module flags that specify the garbage collection information.
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:126
Parameters
- llvm::MCStreamer& Streamer
- llvm::Module& M
¶llvm::MCSymbol* getCFIPersonalitySymbol(
const llvm::GlobalValue* GV,
const llvm::TargetMachine& TM,
llvm::MachineModuleInfo* MMI) const
llvm::MCSymbol* getCFIPersonalitySymbol(
const llvm::GlobalValue* GV,
const llvm::TargetMachine& TM,
llvm::MachineModuleInfo* MMI) const
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:146
Parameters
- const llvm::GlobalValue* GV
- const llvm::TargetMachine& TM
- llvm::MachineModuleInfo* MMI
¶llvm::MCSection* getExplicitSectionGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
llvm::MCSection* getExplicitSectionGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
Description
Targets should implement this method to assign a section to globals with an explicit section specfied. The implementation of this method can assume that GO->hasSection() is true.
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:131
Parameters
- const llvm::GlobalObject* GO
- llvm::SectionKind Kind
- const llvm::TargetMachine& TM
¶const llvm::MCExpr* getIndirectSymViaGOTPCRel(
const llvm::GlobalValue* GV,
const llvm::MCSymbol* Sym,
const llvm::MCValue& MV,
int64_t Offset,
llvm::MachineModuleInfo* MMI,
llvm::MCStreamer& Streamer) const
const llvm::MCExpr* getIndirectSymViaGOTPCRel(
const llvm::GlobalValue* GV,
const llvm::MCSymbol* Sym,
const llvm::MCValue& MV,
int64_t Offset,
llvm::MachineModuleInfo* MMI,
llvm::MCStreamer& Streamer) const
Description
Get MachO PC relative GOT entry relocation
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:151
Parameters
- const llvm::GlobalValue* GV
- const llvm::MCSymbol* Sym
- const llvm::MCValue& MV
- int64_t Offset
- llvm::MachineModuleInfo* MMI
- llvm::MCStreamer& Streamer
¶void getNameWithPrefix(
SmallVectorImpl<char>& OutName,
const llvm::GlobalValue* GV,
const llvm::TargetMachine& TM) const
void getNameWithPrefix(
SmallVectorImpl<char>& OutName,
const llvm::GlobalValue* GV,
const llvm::TargetMachine& TM) const
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:157
Parameters
- SmallVectorImpl<char>& OutName
- const llvm::GlobalValue* GV
- const llvm::TargetMachine& TM
¶llvm::MCSection* getSectionForConstant(
const llvm::DataLayout& DL,
llvm::SectionKind Kind,
const llvm::Constant* C,
llvm::Align& Alignment) const
llvm::MCSection* getSectionForConstant(
const llvm::DataLayout& DL,
llvm::SectionKind Kind,
const llvm::Constant* C,
llvm::Align& Alignment) const
Description
Given a constant with the SectionKind, return a section that it should be placed in.
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:134
Parameters
- const llvm::DataLayout& DL
- llvm::SectionKind Kind
- const llvm::Constant* C
- llvm::Align& Alignment
¶llvm::MCSection* getStaticDtorSection(
unsigned int Priority,
const llvm::MCSymbol* KeySym) const
llvm::MCSection* getStaticDtorSection(
unsigned int Priority,
const llvm::MCSymbol* KeySym) const
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:122
Parameters
- unsigned int Priority
- const llvm::MCSymbol* KeySym
¶const llvm::MCExpr* getTTypeGlobalReference(
const llvm::GlobalValue* GV,
unsigned int Encoding,
const llvm::TargetMachine& TM,
llvm::MachineModuleInfo* MMI,
llvm::MCStreamer& Streamer) const
const llvm::MCExpr* getTTypeGlobalReference(
const llvm::GlobalValue* GV,
unsigned int Encoding,
const llvm::TargetMachine& TM,
llvm::MachineModuleInfo* MMI,
llvm::MCStreamer& Streamer) const
Description
The mach-o version of this method defaults to returning a stub reference.
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:139
Parameters
- const llvm::GlobalValue* GV
- unsigned int Encoding
- const llvm::TargetMachine& TM
- llvm::MachineModuleInfo* MMI
- llvm::MCStreamer& Streamer
¶~TargetLoweringObjectFileMachO()
~TargetLoweringObjectFileMachO()
Declared at: llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h:118