class TargetLoweringObjectFile
Declaration
class TargetLoweringObjectFile : public MCObjectFileInfo { /* full declaration omitted */ };
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:45
Inherits from: MCObjectFileInfo
Member Variables
- private llvm::Mangler* Mang = nullptr
- Name-mangler for global names.
- protected bool SupportIndirectSymViaGOTPCRel = false
- protected bool SupportGOTPCRelWithOffset = true
- protected bool SupportDebugThreadLocalLocation = true
- protected bool SupportDSOLocalEquivalentLowering = false
- protected unsigned int PersonalityEncoding = 0
- PersonalityEncoding, LSDAEncoding, TTypeEncoding - Some encoding values for EH.
- protected unsigned int LSDAEncoding = 0
- protected unsigned int TTypeEncoding = 0
- protected unsigned int CallSiteEncoding = 0
- protected llvm::MCSection* StaticCtorSection = nullptr
- This section contains the static constructor pointer list.
- protected llvm::MCSection* StaticDtorSection = nullptr
- This section contains the static destructor pointer list.
- protected const llvm::TargetMachine* 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 virtual void Initialize(llvm::MCContext & ctx, const llvm::TargetMachine & TM)
- public llvm::MCSection * SectionForGlobal(const llvm::GlobalObject * GO, const llvm::TargetMachine & TM) const
- public llvm::MCSection * SectionForGlobal(const llvm::GlobalObject * GO, llvm::SectionKind Kind, const llvm::TargetMachine & TM) const
- protected virtual llvm::MCSection * SelectSectionForGlobal(const llvm::GlobalObject * GO, llvm::SectionKind Kind, const llvm::TargetMachine & TM) const
- public TargetLoweringObjectFile(const llvm::TargetLoweringObjectFile &)
- public TargetLoweringObjectFile()
- public void emitCGProfileMetadata(llvm::MCStreamer & Streamer, llvm::Module & M) const
- public virtual void emitModuleMetadata(llvm::MCStreamer & Streamer, llvm::Module & M) const
- public virtual void emitPersonalityValue(llvm::MCStreamer & Streamer, const llvm::DataLayout & TM, const llvm::MCSymbol * Sym) const
- public virtual llvm::MCSymbol * getCFIPersonalitySymbol(const llvm::GlobalValue * GV, const llvm::TargetMachine & TM, llvm::MachineModuleInfo * MMI) const
- public unsigned int getCallSiteEncoding() const
- public virtual const llvm::MCExpr * getDebugThreadLocalSymbol(const llvm::MCSymbol * Sym) const
- public virtual llvm::MCSection * getExplicitSectionGlobal(const llvm::GlobalObject * GO, llvm::SectionKind Kind, const llvm::TargetMachine & TM) const
- public virtual llvm::MCSymbol * getFunctionEntryPointSymbol(const llvm::GlobalValue * Func, const llvm::TargetMachine & TM) const
- public virtual 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 virtual const llvm::MCExpr * getIndirectSymViaRWPI(const llvm::MCSymbol * Sym) const
- public static llvm::SectionKind getKindForGlobal(const llvm::GlobalObject * GO, const llvm::TargetMachine & TM)
- public unsigned int getLSDAEncoding() const
- public llvm::Mangler & getMangler() const
- public virtual void getModuleMetadata(llvm::Module & M)
- public virtual void getNameWithPrefix(SmallVectorImpl<char> & OutName, const llvm::GlobalValue * GV, const llvm::TargetMachine & TM) const
- public unsigned int getPersonalityEncoding() const
- public virtual llvm::MCSection * getSectionForCommandLines() const
- public virtual llvm::MCSection * getSectionForConstant(const llvm::DataLayout & DL, llvm::SectionKind Kind, const llvm::Constant * C, llvm::Align & Alignment) const
- public virtual llvm::MCSection * getSectionForExternalReference(const llvm::GlobalObject * GO, const llvm::TargetMachine & TM) const
- public virtual llvm::MCSection * getSectionForFunctionDescriptor(const llvm::Function * F, const llvm::TargetMachine & TM) const
- public virtual llvm::MCSection * getSectionForJumpTable(const llvm::Function & F, const llvm::TargetMachine & TM) const
- public virtual llvm::MCSection * getSectionForLSDA(const llvm::Function &, const llvm::MCSymbol &, const llvm::TargetMachine &) const
- public virtual llvm::MCSection * getSectionForMachineBasicBlock(const llvm::Function & F, const llvm::MachineBasicBlock & MBB, const llvm::TargetMachine & TM) const
- public virtual llvm::MCSection * getSectionForTOCEntry(const llvm::MCSymbol * S, const llvm::TargetMachine & TM) const
- public virtual llvm::MCRegister getStaticBase() const
- public virtual llvm::MCSection * getStaticCtorSection(unsigned int Priority, const llvm::MCSymbol * KeySym) const
- public virtual llvm::MCSection * getStaticDtorSection(unsigned int Priority, const llvm::MCSymbol * KeySym) const
- public llvm::MCSymbol * getSymbolWithGlobalValueBase(const llvm::GlobalValue * GV, llvm::StringRef Suffix, const llvm::TargetMachine & TM) const
- public unsigned int getTTypeEncoding() const
- public virtual const llvm::MCExpr * getTTypeGlobalReference(const llvm::GlobalValue * GV, unsigned int Encoding, const llvm::TargetMachine & TM, llvm::MachineModuleInfo * MMI, llvm::MCStreamer & Streamer) const
- public const llvm::MCExpr * getTTypeReference(const llvm::MCSymbolRefExpr * Sym, unsigned int Encoding, llvm::MCStreamer & Streamer) const
- public virtual llvm::MCSymbol * getTargetSymbol(const llvm::GlobalValue * GV, const llvm::TargetMachine & TM) const
- public virtual llvm::MCSection * getUniqueSectionForFunction(const llvm::Function & F, const llvm::TargetMachine & TM) const
- public virtual const llvm::MCExpr * lowerDSOLocalEquivalent(const llvm::DSOLocalEquivalent * Equiv, const llvm::TargetMachine & TM) const
- public virtual const llvm::MCExpr * lowerRelativeReference(const llvm::GlobalValue * LHS, const llvm::GlobalValue * RHS, const llvm::TargetMachine & TM) const
- public virtual bool shouldPutJumpTableInFunctionSection(bool UsesLabelDifference, const llvm::Function & F) const
- public bool supportDSOLocalEquivalentLowering() const
- public bool supportDebugThreadLocalLocation() const
- public bool supportGOTPCRelWithOffset() const
- public bool supportIndirectSymViaGOTPCRel() const
- public virtual ~TargetLoweringObjectFile()
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
¶virtual void Initialize(
llvm::MCContext& ctx,
const llvm::TargetMachine& TM)
virtual 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/Target/TargetLoweringObjectFile.h:82
Parameters
- llvm::MCContext& ctx
- const llvm::TargetMachine& TM
¶llvm::MCSection* SectionForGlobal(
const llvm::GlobalObject* GO,
const llvm::TargetMachine& TM) const
llvm::MCSection* SectionForGlobal(
const llvm::GlobalObject* GO,
const llvm::TargetMachine& TM) const
Description
This method computes the appropriate section to emit the specified global variable or function definition. This should not be passed external (or available externally) globals.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:125
Parameters
- const llvm::GlobalObject* GO
- const llvm::TargetMachine& TM
¶llvm::MCSection* SectionForGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
llvm::MCSection* SectionForGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
Description
This method computes the appropriate section to emit the specified global variable or function definition. This should not be passed external (or available externally) globals.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:119
Parameters
- const llvm::GlobalObject* GO
- llvm::SectionKind Kind
- const llvm::TargetMachine& TM
¶virtual llvm::MCSection* SelectSectionForGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
virtual llvm::MCSection* SelectSectionForGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:288
Parameters
- const llvm::GlobalObject* GO
- llvm::SectionKind Kind
- const llvm::TargetMachine& TM
¶TargetLoweringObjectFile(
const llvm::TargetLoweringObjectFile&)
TargetLoweringObjectFile(
const llvm::TargetLoweringObjectFile&)
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:72
Parameters
¶TargetLoweringObjectFile()
TargetLoweringObjectFile()
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:71
¶void emitCGProfileMetadata(
llvm::MCStreamer& Streamer,
llvm::Module& M) const
void emitCGProfileMetadata(
llvm::MCStreamer& Streamer,
llvm::Module& M) const
Description
Emit Call Graph Profile metadata.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:91
Parameters
- llvm::MCStreamer& Streamer
- llvm::Module& M
¶virtual void emitModuleMetadata(
llvm::MCStreamer& Streamer,
llvm::Module& M) const
virtual void emitModuleMetadata(
llvm::MCStreamer& Streamer,
llvm::Module& M) const
Description
Emit the module-level metadata that the platform cares about.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:88
Parameters
- llvm::MCStreamer& Streamer
- llvm::Module& M
¶virtual void emitPersonalityValue(
llvm::MCStreamer& Streamer,
const llvm::DataLayout& TM,
const llvm::MCSymbol* Sym) const
virtual void emitPersonalityValue(
llvm::MCStreamer& Streamer,
const llvm::DataLayout& TM,
const llvm::MCSymbol* Sym) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:84
Parameters
- llvm::MCStreamer& Streamer
- const llvm::DataLayout& TM
- const llvm::MCSymbol* Sym
¶virtual llvm::MCSymbol* getCFIPersonalitySymbol(
const llvm::GlobalValue* GV,
const llvm::TargetMachine& TM,
llvm::MachineModuleInfo* MMI) const
virtual llvm::MCSymbol* getCFIPersonalitySymbol(
const llvm::GlobalValue* GV,
const llvm::TargetMachine& TM,
llvm::MachineModuleInfo* MMI) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:164
Parameters
- const llvm::GlobalValue* GV
- const llvm::TargetMachine& TM
- llvm::MachineModuleInfo* MMI
¶unsigned int getCallSiteEncoding() const
unsigned int getCallSiteEncoding() const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:171
¶virtual const llvm::MCExpr*
getDebugThreadLocalSymbol(
const llvm::MCSymbol* Sym) const
virtual const llvm::MCExpr*
getDebugThreadLocalSymbol(
const llvm::MCSymbol* Sym) const
Description
Create a symbol reference to describe the given TLS variable when emitting the address in debug info.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:188
Parameters
- const llvm::MCSymbol* Sym
¶virtual llvm::MCSection* getExplicitSectionGlobal(
const llvm::GlobalObject* GO,
llvm::SectionKind Kind,
const llvm::TargetMachine& TM) const
virtual 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/Target/TargetLoweringObjectFile.h:146
Parameters
- const llvm::GlobalObject* GO
- llvm::SectionKind Kind
- const llvm::TargetMachine& TM
¶virtual llvm::MCSymbol*
getFunctionEntryPointSymbol(
const llvm::GlobalValue* Func,
const llvm::TargetMachine& TM) const
virtual llvm::MCSymbol*
getFunctionEntryPointSymbol(
const llvm::GlobalValue* Func,
const llvm::TargetMachine& TM) const
Description
If supported, return the function entry point symbol. Otherwise, returns nullptr. Func must be a function or an alias which has a function as base object.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:282
Parameters
- const llvm::GlobalValue* Func
- const llvm::TargetMachine& TM
¶virtual 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
virtual 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 the target specific PC relative GOT entry relocation
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:233
Parameters
- const llvm::GlobalValue* GV
- const llvm::MCSymbol* Sym
- const llvm::MCValue& MV
- int64_t Offset
- llvm::MachineModuleInfo* MMI
- llvm::MCStreamer& Streamer
¶virtual const llvm::MCExpr* getIndirectSymViaRWPI(
const llvm::MCSymbol* Sym) const
virtual const llvm::MCExpr* getIndirectSymViaRWPI(
const llvm::MCSymbol* Sym) const
Description
Get the target specific RWPI relocation.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:228
Parameters
- const llvm::MCSymbol* Sym
¶static llvm::SectionKind getKindForGlobal(
const llvm::GlobalObject* GO,
const llvm::TargetMachine& TM)
static llvm::SectionKind getKindForGlobal(
const llvm::GlobalObject* GO,
const llvm::TargetMachine& TM)
Description
Classify the specified global variable into a set of target independent categories embodied in SectionKind.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:113
Parameters
- const llvm::GlobalObject* GO
- const llvm::TargetMachine& TM
¶unsigned int getLSDAEncoding() const
unsigned int getLSDAEncoding() const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:169
¶llvm::Mangler& getMangler() const
llvm::Mangler& getMangler() const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:77
¶virtual void getModuleMetadata(llvm::Module& M)
virtual void getModuleMetadata(llvm::Module& M)
Description
Get the module-level metadata that the platform cares about.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:94
Parameters
- llvm::Module& M
¶virtual void getNameWithPrefix(
SmallVectorImpl<char>& OutName,
const llvm::GlobalValue* GV,
const llvm::TargetMachine& TM) const
virtual void getNameWithPrefix(
SmallVectorImpl<char>& OutName,
const llvm::GlobalValue* GV,
const llvm::TargetMachine& TM) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:128
Parameters
- SmallVectorImpl<char>& OutName
- const llvm::GlobalValue* GV
- const llvm::TargetMachine& TM
¶unsigned int getPersonalityEncoding() const
unsigned int getPersonalityEncoding() const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:168
¶virtual llvm::MCSection*
getSectionForCommandLines() const
virtual llvm::MCSection*
getSectionForCommandLines() const
Description
If supported, return the section to use for the llvm.commandline metadata. Otherwise, return nullptr.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:244
¶virtual llvm::MCSection* getSectionForConstant(
const llvm::DataLayout& DL,
llvm::SectionKind Kind,
const llvm::Constant* C,
llvm::Align& Alignment) const
virtual 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/Target/TargetLoweringObjectFile.h:98
Parameters
- const llvm::DataLayout& DL
- llvm::SectionKind Kind
- const llvm::Constant* C
- llvm::Align& Alignment
¶virtual llvm::MCSection*
getSectionForExternalReference(
const llvm::GlobalObject* GO,
const llvm::TargetMachine& TM) const
virtual llvm::MCSection*
getSectionForExternalReference(
const llvm::GlobalObject* GO,
const llvm::TargetMachine& TM) const
Description
On targets that associate external references with a section, return such a section for the given external global.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:267
Parameters
- const llvm::GlobalObject* GO
- const llvm::TargetMachine& TM
¶virtual llvm::MCSection*
getSectionForFunctionDescriptor(
const llvm::Function* F,
const llvm::TargetMachine& TM) const
virtual llvm::MCSection*
getSectionForFunctionDescriptor(
const llvm::Function* F,
const llvm::TargetMachine& TM) const
Description
On targets that use separate function descriptor symbols, return a section for the descriptor given its symbol. Use only with defined functions.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:251
Parameters
- const llvm::Function* F
- const llvm::TargetMachine& TM
¶virtual llvm::MCSection* getSectionForJumpTable(
const llvm::Function& F,
const llvm::TargetMachine& TM) const
virtual llvm::MCSection* getSectionForJumpTable(
const llvm::Function& F,
const llvm::TargetMachine& TM) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:132
Parameters
- const llvm::Function& F
- const llvm::TargetMachine& TM
¶virtual llvm::MCSection* getSectionForLSDA(
const llvm::Function&,
const llvm::MCSymbol&,
const llvm::TargetMachine&) const
virtual llvm::MCSection* getSectionForLSDA(
const llvm::Function&,
const llvm::MCSymbol&,
const llvm::TargetMachine&) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:134
Parameters
- const llvm::Function&
- const llvm::MCSymbol&
- const llvm::TargetMachine&
¶virtual llvm::MCSection*
getSectionForMachineBasicBlock(
const llvm::Function& F,
const llvm::MachineBasicBlock& MBB,
const llvm::TargetMachine& TM) const
virtual llvm::MCSection*
getSectionForMachineBasicBlock(
const llvm::Function& F,
const llvm::MachineBasicBlock& MBB,
const llvm::TargetMachine& TM) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:103
Parameters
- const llvm::Function& F
- const llvm::MachineBasicBlock& MBB
- const llvm::TargetMachine& TM
¶virtual llvm::MCSection* getSectionForTOCEntry(
const llvm::MCSymbol* S,
const llvm::TargetMachine& TM) const
virtual llvm::MCSection* getSectionForTOCEntry(
const llvm::MCSymbol* S,
const llvm::TargetMachine& TM) const
Description
On targets that support TOC entries, return a section for the entry given the symbol it refers to. TODO: Implement this interface for existing ELF targets.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:259
Parameters
- const llvm::MCSymbol* S
- const llvm::TargetMachine& TM
¶virtual llvm::MCRegister getStaticBase() const
virtual llvm::MCRegister getStaticBase() const
Description
Returns the register used as static base in RWPI variants.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:225
¶virtual llvm::MCSection* getStaticCtorSection(
unsigned int Priority,
const llvm::MCSymbol* KeySym) const
virtual llvm::MCSection* getStaticCtorSection(
unsigned int Priority,
const llvm::MCSymbol* KeySym) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:176
Parameters
- unsigned int Priority
- const llvm::MCSymbol* KeySym
¶virtual llvm::MCSection* getStaticDtorSection(
unsigned int Priority,
const llvm::MCSymbol* KeySym) const
virtual llvm::MCSection* getStaticDtorSection(
unsigned int Priority,
const llvm::MCSymbol* KeySym) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:181
Parameters
- unsigned int Priority
- const llvm::MCSymbol* KeySym
¶llvm::MCSymbol* getSymbolWithGlobalValueBase(
const llvm::GlobalValue* GV,
llvm::StringRef Suffix,
const llvm::TargetMachine& TM) const
llvm::MCSymbol* getSymbolWithGlobalValueBase(
const llvm::GlobalValue* GV,
llvm::StringRef Suffix,
const llvm::TargetMachine& TM) const
Description
Return the MCSymbol for a private symbol with global value name as its base, with the specified suffix.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:159
Parameters
- const llvm::GlobalValue* GV
- llvm::StringRef Suffix
- const llvm::TargetMachine& TM
¶unsigned int getTTypeEncoding() const
unsigned int getTTypeEncoding() const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:170
¶virtual const llvm::MCExpr*
getTTypeGlobalReference(
const llvm::GlobalValue* GV,
unsigned int Encoding,
const llvm::TargetMachine& TM,
llvm::MachineModuleInfo* MMI,
llvm::MCStreamer& Streamer) const
virtual const llvm::MCExpr*
getTTypeGlobalReference(
const llvm::GlobalValue* GV,
unsigned int Encoding,
const llvm::TargetMachine& TM,
llvm::MachineModuleInfo* MMI,
llvm::MCStreamer& Streamer) const
Description
Return an MCExpr to use for a reference to the specified global variable from exception handling information.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:151
Parameters
- const llvm::GlobalValue* GV
- unsigned int Encoding
- const llvm::TargetMachine& TM
- llvm::MachineModuleInfo* MMI
- llvm::MCStreamer& Streamer
¶const llvm::MCExpr* getTTypeReference(
const llvm::MCSymbolRefExpr* Sym,
unsigned int Encoding,
llvm::MCStreamer& Streamer) const
const llvm::MCExpr* getTTypeReference(
const llvm::MCSymbolRefExpr* Sym,
unsigned int Encoding,
llvm::MCStreamer& Streamer) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:173
Parameters
- const llvm::MCSymbolRefExpr* Sym
- unsigned int Encoding
- llvm::MCStreamer& Streamer
¶virtual llvm::MCSymbol* getTargetSymbol(
const llvm::GlobalValue* GV,
const llvm::TargetMachine& TM) const
virtual llvm::MCSymbol* getTargetSymbol(
const llvm::GlobalValue* GV,
const llvm::TargetMachine& TM) const
Description
Targets that have a special convention for their symbols could use this hook to return a specialized symbol.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:274
Parameters
- const llvm::GlobalValue* GV
- const llvm::TargetMachine& TM
¶virtual llvm::MCSection*
getUniqueSectionForFunction(
const llvm::Function& F,
const llvm::TargetMachine& TM) const
virtual llvm::MCSection*
getUniqueSectionForFunction(
const llvm::Function& F,
const llvm::TargetMachine& TM) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:108
Parameters
- const llvm::Function& F
- const llvm::TargetMachine& TM
¶virtual const llvm::MCExpr*
lowerDSOLocalEquivalent(
const llvm::DSOLocalEquivalent* Equiv,
const llvm::TargetMachine& TM) const
virtual const llvm::MCExpr*
lowerDSOLocalEquivalent(
const llvm::DSOLocalEquivalent* Equiv,
const llvm::TargetMachine& TM) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:202
Parameters
- const llvm::DSOLocalEquivalent* Equiv
- const llvm::TargetMachine& TM
¶virtual const llvm::MCExpr*
lowerRelativeReference(
const llvm::GlobalValue* LHS,
const llvm::GlobalValue* RHS,
const llvm::TargetMachine& TM) const
virtual const llvm::MCExpr*
lowerRelativeReference(
const llvm::GlobalValue* LHS,
const llvm::GlobalValue* RHS,
const llvm::TargetMachine& TM) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:190
Parameters
- const llvm::GlobalValue* LHS
- const llvm::GlobalValue* RHS
- const llvm::TargetMachine& TM
¶virtual bool shouldPutJumpTableInFunctionSection(
bool UsesLabelDifference,
const llvm::Function& F) const
virtual bool shouldPutJumpTableInFunctionSection(
bool UsesLabelDifference,
const llvm::Function& F) const
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:139
Parameters
- bool UsesLabelDifference
- const llvm::Function& F
¶bool supportDSOLocalEquivalentLowering() const
bool supportDSOLocalEquivalentLowering() const
Description
Target supports a native lowering of a dso_local_equivalent constant without needing to replace it with equivalent IR.
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:198
¶bool supportDebugThreadLocalLocation() const
bool supportDebugThreadLocalLocation() const
Description
Target supports TLS offset relocation in debug section?
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:220
¶bool supportGOTPCRelWithOffset() const
bool supportGOTPCRelWithOffset() const
Description
Target GOT "PC"-relative relocation supports encoding an additional binary expression with an offset?
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:215
¶bool supportIndirectSymViaGOTPCRel() const
bool supportIndirectSymViaGOTPCRel() const
Description
Target supports replacing a data "PC"-relative access to a symbol through another symbol, by accessing the later via a GOT entry instead?
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:209
¶virtual ~TargetLoweringObjectFile()
virtual ~TargetLoweringObjectFile()
Declared at: llvm/include/llvm/Target/TargetLoweringObjectFile.h:75