llvm::TargetLoweringObjectFileGOFF

Object-file lowering for GOFF targets.

Synopsis

Declared in <llvm/CodeGen/TargetLoweringObjectFileImpl.h>

class TargetLoweringObjectFileGOFF
    : public TargetLoweringObjectFile

Base Classes

NameDescription
TargetLoweringObjectFileTarget-specific lowering of globals and constants into object-file sections.

Member Functions

NameDescription
TargetLoweringObjectFileGOFF [constructor]Construct a GOFF object-file lowering instance.
~TargetLoweringObjectFileGOFF [destructor] [virtual]Destroy this GOFF object-file lowering instance.
operator= [deleted]Deleted copy assignment; instances are not copyable.
Initialize [virtual]Initialize lowering state for the given MC context and target machine.
SectionForGlobal Compute the section used to emit a defined global object or function.
SelectSectionForGlobal [virtual]Select the default GOFF section for GO based on its section kind.
emitCGProfileMetadata Emit Call Graph Profile metadata.
emitLinkerDirectives [virtual]Process linker options metadata and emit platform-specific bits.
emitModuleMetadata [virtual]Emit the module-level metadata that the platform cares about.
emitPersonalityValue [virtual]Emit the personality-routine value into the object file if required.
emitPseudoProbeDescMetadata Emit pseudo_probe_desc metadata.
getADASection Return the GOFF associated data area section.
getAddrSigSection Return the address-significance table section.
getBBAddrMapSection Return the basic-block address map section for TextSec.
getBSSSection Return the BSS section.
getCFIPersonalitySymbol [virtual]Return the symbol passed to .cfi_personality for GV.
getCOFFDebugSymbolsSection Return the COFF CodeView debug symbols section.
getCOFFDebugTypesSection Return the COFF CodeView debug types section.
getCOFFGlobalTypeHashesSection Return the COFF global type hashes section.
getCStringSection Return the Mach-O C-string literal section.
getCallGraphSection Return the call-graph metadata section for TextSec.
getCallSiteEncoding Return the DWARF encoding used for call-site entries.
getCompactUnwindDwarfEHFrameOnly Return the compact-unwind encoding that means emit only an EH frame.
getCompactUnwindSection Return the compact unwind section.
getConstDataCoalSection Return the Mach-O coalesced constant data section.
getConstDataSection Return the Mach-O constant data section.
getConstTextCoalSection Return the Mach-O coalesced constant text section.
getContext Return the MC context associated with this object-file info.
getDataBSSSection Return the Mach-O BSS data section.
getDataCoalSection Return the Mach-O coalesced data section.
getDataCommonSection Return the Mach-O common data section.
getDataSection Return the standard data section.
getDebugThreadLocalSymbol [virtual]Create a symbol reference to describe the given TLS variable when emitting the address in debug info.
getDrectveSection Return the COFF linker directives section.
getDwarfARangesSection Return the DWARF address-range section.
getDwarfAbbrevDWOSection Return the fission DWARF abbreviation section.
getDwarfAbbrevSection Return the DWARF abbreviation section.
getDwarfAccelNamesSection Return the Apple-style names accelerator table section.
getDwarfAccelNamespaceSection Return the Apple-style namespace accelerator table section.
getDwarfAccelObjCSection Return the Apple-style Objective-C accelerator table section.
getDwarfAccelTypesSection Return the Apple-style types accelerator table section.
getDwarfAddrSection Return the DWARF v5 address table section.
getDwarfCUIndexSection Return the DWARF package CU index section.
getDwarfDebugInlineSection Return the legacy DWARF inline debug info section.
getDwarfDebugNamesSection Return the DWARF v5 .debug_names accelerator table section.
getDwarfFrameSection Return the DWARF frame section.
getDwarfGnuPubNamesSection Return the GNU-style DWARF public names section.
getDwarfGnuPubTypesSection Return the GNU-style DWARF public types section.
getDwarfInfoDWOSection Return the fission DWARF info section.
getDwarfInfoSection getDwarfInfoSection overloads
getDwarfLineDWOSection Return the fission DWARF line section.
getDwarfLineSection Return the DWARF line section.
getDwarfLineStrSection Return the DWARF line-string section.
getDwarfLocDWOSection Return the fission DWARF location list section.
getDwarfLocSection Return the DWARF location list section.
getDwarfLoclistsDWOSection Return the fission DWARF v5 location list section.
getDwarfLoclistsSection Return the DWARF v5 location list section.
getDwarfMacinfoDWOSection Return the fission DWARF macinfo section.
getDwarfMacinfoSection Return the DWARF macinfo section.
getDwarfMacroDWOSection Return the fission DWARF macro section.
getDwarfMacroSection Return the DWARF macro section.
getDwarfPubNamesSection Return the DWARF public names section.
getDwarfPubTypesSection Return the DWARF public types section.
getDwarfRangesSection Return the DWARF ranges section.
getDwarfRnglistsDWOSection Return the fission DWARF v5 range list section.
getDwarfRnglistsSection Return the DWARF v5 range list section.
getDwarfStrDWOSection Return the fission DWARF string section.
getDwarfStrOffDWOSection Return the fission DWARF string-offset section.
getDwarfStrOffSection Return the DWARF v5 string-offset section.
getDwarfStrSection Return the DWARF string section.
getDwarfSwiftASTSection Return the Swift AST debug section.
getDwarfTUIndexSection Return the DWARF package TU index section.
getDwarfTypesDWOSection Return the fission DWARF types section.
getDwarfTypesSection Return the DWARF types COMDAT section for the given hash.
getEHFrameSection Return the EH frame section.
getEightByteConstantSection Return the Mach-O 8-byte constant section.
getExplicitSectionGlobal [virtual]Return the GOFF section named by an explicit section attribute on GO.
getFDEEncoding Return the FDE CFI encoding used for .eh_frame begin labels.
getFaultMapSection Return the fault map section.
getFourByteConstantSection Return the Mach-O 4-byte constant section.
getFunctionEntryPointSymbol [virtual]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.
getGEHContSection Return the COFF guard EH continuation table section.
getGFIDsSection Return the COFF guard function ID table section.
getGIATsSection Return the COFF guard address-taken IAT entries section.
getGLJMPSection Return the COFF guard longjmp table section.
getIDRLSection Return the GOFF IDRL section.
getImportCallSection Return the import-call optimization data section.
getIndirectSymViaGOTPCRel [virtual]Get the target specific PC relative GOT entry relocation
getIndirectSymViaRWPI [virtual]Get the target specific RWPI relocation.
getKCFITrapSection Return the KCFI trap section for TextSec.
getLLVMStatsSection Return the LLVM statistics metadata section.
getLSDAEncoding Return the DWARF encoding used for LSDA references.
getLSDASection Return the language-specific data area (LSDA) section.
getLazySymbolPointerSection Return the Mach-O lazy symbol pointer section.
getMangler Return the mangler used for global names.
getModuleMetadata [virtual]Collect module-level metadata that affects GOFF section selection.
getNameWithPrefix [virtual]Append the mangled name of GV, including any required prefix, to OutName.
getNonLazySymbolPointerSection Return the Mach-O non-lazy symbol pointer section.
getOmitDwarfIfHaveCompactUnwind True if DWARF unwind may be omitted when compact unwind is available.
getPCSection Return or create a PC-relative metadata section named Name.
getPDataSection Return the COFF procedure data section.
getPPA2ListSection Return the GOFF PPA2 list section.
getPersonalityEncoding Return the DWARF encoding used for personality routine references.
getPseudoProbeDescSection Return the AutoFDO pseudo-probe descriptor section for a function.
getPseudoProbeSection Return the AutoFDO pseudo-probe section for TextSec.
getReadOnlySection Return the read-only data section.
getRemarksSection Return the remarks section.
getSFrameABIArch Return the optional SFrame ABI architecture identifier.
getSFrameSection Return the SFrame section.
getSXDataSection Return the COFF safe exception handlers data section.
getSectionForCommandLines [virtual]If supported, return the section to use for the llvm.commandline metadata. Otherwise, return nullptr.
getSectionForConstant getSectionForConstant overloads
getSectionForExternalReference [virtual]On targets that associate external references with a section, return such a section for the given external global.
getSectionForFunctionDescriptor [virtual]On targets that use separate function descriptor symbols, return a section for the descriptor given its symbol. Use only with defined functions.
getSectionForJumpTable getSectionForJumpTable overloads
getSectionForLSDA [virtual]Return the GOFF LSDA section for exception handling of F.
getSectionForMachineBasicBlock [virtual]Return the section used to emit the given machine basic block.
getSectionForTOCEntry [virtual]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.
getSixteenByteConstantSection Return the Mach-O 16-byte constant section.
getStackMapSection Return the stack map section.
getStackSizesSection Return the stack-sizes metadata section for TextSec.
getStaticBase [virtual]Returns the register used as static base in RWPI variants.
getStaticCtorSection [virtual]Return the section used for static constructors at Priority.
getStaticDtorSection [virtual]Return the section used for static destructors at Priority.
getStaticXtorSection Return the GOFF section for static constructors or destructors.
getSupportsCompactUnwindWithoutEHFrame True if compact unwind can be emitted without an EH frame section.
getSwift5ReflectionSection Return the Swift 5 reflection section for ReflSectionKind.
getSymbolWithGlobalValueBase Return the MCSymbol for a private symbol with global value name as its base, with the specified suffix.
getTLSBSSSection Return the thread-local BSS section.
getTLSDataSection Return the thread-local initialized data section.
getTLSExtraDataSection Return the extra TLS variable data section.
getTLSTLVSection Return the Mach-O thread-local variable structure section.
getTLSThreadInitSection Return the Mach-O TLS thread-init function section.
getTOCBaseSection Return the XCOFF TOC base section.
getTTypeEncoding Return the DWARF encoding used for type references.
getTTypeGlobalReference [virtual]Return an MCExpr to use for a reference to the specified global variable from exception handling information.
getTTypeReference Build an MCExpr that references Sym with the given type encoding.
getTargetSymbol [virtual]Targets that have a special convention for their symbols could use this hook to return a specialized symbol.
getTextCoalSection Return the Mach-O coalesced text section.
getTextSection Return the standard text section.
getTextSectionAlignment [virtual]Return the preferred alignment in bytes for the text section.
getThreadLocalPointerSection Return the Mach-O thread-local pointer section.
getUStringSection Return the Mach-O UTF-16 string literal section.
getUniqueSectionForFunction [virtual]Return a unique section for the given function when function sections are enabled.
getXDataSection Return the COFF unwind data section.
hasPLTPCRelative Target supports a PC-relative relocation that references the PLT of a function.
initMCObjectFileInfo Initialize object-file section info for the given context and code model.
isPositionIndependent True if the object file is being built for position-independent code.
lowerDSOLocalEquivalent [virtual]Lower a dso_local equivalent reference to a target MCExpr.
lowerRelativeReference [virtual]Lower a relative reference between two globals to a target MCExpr.
shouldPutJumpTableInFunctionSection [virtual]Return true if jump tables for F should live in its text section.
supportDebugThreadLocalLocation Target supports TLS offset relocation in debug section?
supportGOTPCRelWithOffset Target GOT "PC"-relative relocation supports encoding an additional binary expression with an offset?
supportIndirectSymViaGOTPCRel Target supports replacing a data "PC"-relative access to a symbol through another symbol, by accessing the later via a GOT entry instead?

Static Member Functions

NameDescription
getCustomSectionName Return the section name specified by '#pragma clang section' or the section attribute.
getKindForGlobal Classify the specified global variable into a set of target independent categories embodied in SectionKind.

Protected Member Functions

NameDescription
SelectSectionForGlobal [virtual]Select the section used to emit GO for the given section kind.

Protected Data Members

NameDescription
ADASection GOFF associated data area (ADA) section.
AddrSigSection Address-significance table section.
BSSSection Section that is default initialized to zero.
COFFDebugSymbolsSection COFF CodeView debug symbols section.
COFFDebugTypesSection COFF CodeView debug types section.
COFFGlobalTypeHashesSection COFF global type hashes section.
CStringSection Mach-O C-string literal section.
CallGraphSection Section containing call graph metadata.
CallSiteEncoding DWARF encoding used for call-site entries in exception handling.
CompactUnwindDwarfEHFrameOnly Compact unwind encoding indicating that we should emit only an EH frame.
CompactUnwindSection If exception handling is supported by the target and the target can support a compact representation of the CIE and FDE, this is the section to emit them into.
ConstDataCoalSection Mach-O coalesced constant data section.
ConstDataSection Mach-O constant data section.
ConstTextCoalSection Mach-O coalesced constant text section.
DataBSSSection Mach-O BSS data section.
DataCoalSection Mach-O coalesced data section.
DataCommonSection Mach-O common data section.
DataRelROSection ELF section for read-only data that needs dynamic relocations.
DataSection Section directive for standard data.
DrectveSection COFF linker directives section (.drectve).
DwarfARangesSection DWARF address-range section (.debug_aranges).
DwarfAbbrevDWOSection Fission (DWO) DWARF abbreviation section (.debug_abbrev.dwo).
DwarfAbbrevSection DWARF abbreviation section (.debug_abbrev).
DwarfAccelNamesSection Pre-DWARF v5 Apple-style names accelerator table section.
DwarfAccelNamespaceSection Pre-DWARF v5 Apple-style namespace accelerator table section.
DwarfAccelObjCSection Pre-DWARF v5 Apple-style Objective-C accelerator table section.
DwarfAccelTypesSection Pre-DWARF v5 Apple-style types accelerator table section.
DwarfAddrSection DWARF v5 address table section (.debug_addr).
DwarfCUIndexSection DWARF package CU index section (.debug_cu_index).
DwarfDebugInlineSection Legacy DWARF inline debug info section.
DwarfDebugNamesSection DWARF v5 accelerator table section (.debug_names).
DwarfFrameSection DWARF call-frame information section (.debug_frame).
DwarfGnuPubNamesSection Section for newer gnu pubnames.
DwarfGnuPubTypesSection Section for newer gnu pubtypes.
DwarfInfoDWOSection Fission (DWO) DWARF info section (.debug_info.dwo).
DwarfInfoSection DWARF compilation-unit info section (.debug_info).
DwarfLineDWOSection Fission (DWO) DWARF line section (.debug_line.dwo).
DwarfLineSection DWARF line-number program section (.debug_line).
DwarfLineStrSection DWARF line-string section (.debug_line_str).
DwarfLocDWOSection Fission (DWO) DWARF location list section (.debug_loc.dwo).
DwarfLocSection DWARF location list section (.debug_loc).
DwarfLoclistsDWOSection Fission (DWO) DWARF v5 location list section (.debug_loclists.dwo).
DwarfLoclistsSection The DWARF v5 locations list section.
DwarfMacinfoDWOSection Fission (DWO) DWARF macinfo section (.debug_macinfo.dwo).
DwarfMacinfoSection DWARF macinfo section (.debug_macinfo).
DwarfMacroDWOSection Fission (DWO) DWARF macro section (.debug_macro.dwo).
DwarfMacroSection DWARF macro section (.debug_macro).
DwarfPubNamesSection DWARF public names section (.debug_pubnames).
DwarfPubTypesSection DWARF public types section (.debug_pubtypes).
DwarfRangesSection DWARF range list section (.debug_ranges).
DwarfRnglistsDWOSection The DWARF v5 range and location list sections for fission.
DwarfRnglistsSection The DWARF v5 range list section.
DwarfStrDWOSection Fission (DWO) DWARF string section (.debug_str.dwo).
DwarfStrOffDWOSection Fission (DWO) DWARF string-offset section (.debug_str_offsets.dwo).
DwarfStrOffSection The DWARF v5 string offset and address table sections.
DwarfStrSection DWARF string section (.debug_str).
DwarfSwiftASTSection Section holding serialized Swift AST debug data.
DwarfTUIndexSection DWARF package TU index section (.debug_tu_index).
DwarfTypesDWOSection Fission (DWO) DWARF types section (.debug_types.dwo).
EHFrameSection EH frame section.
EightByteConstantSection Mach-O 8-byte constant section.
FDECFIEncoding Encoding used for FDE CFI begin labels in .eh_frame.
FaultMapSection FaultMap section.
FourByteConstantSection Mach-O 4-byte constant section.
GEHContSection COFF guard EH continuation table section.
GFIDsSection COFF guard function ID table section.
GIATsSection COFF guard address-taken IAT entries section.
GLJMPSection COFF guard longjmp table section.
IDRLSection GOFF IDRL section.
ImportCallSection If import call optimization is supported by the target, this is the section to emit import call data to.
LLVMStatsSection Section holding LLVM statistics metadata.
LSDAEncoding DWARF encoding used for the language-specific data area (LSDA).
LSDASection If exception handling is supported by the target, this is the section the Language Specific Data Area information is emitted to.
LazySymbolPointerSection Mach-O lazy symbol pointer section.
MergeableConst16Section ELF mergeable 16-byte constant section.
MergeableConst32Section ELF mergeable 32-byte constant section.
MergeableConst4Section ELF mergeable 4-byte constant section.
MergeableConst8Section ELF mergeable 8-byte constant section.
NonLazySymbolPointerSection Mach-O non-lazy symbol pointer section.
OmitDwarfIfHaveCompactUnwind OmitDwarfIfHaveCompactUnwind - True if the target object file supports having some functions with compact unwind and other with dwarf unwind.
PDataSection COFF exception procedure data section (.pdata).
PLTPCRelativeSpecifier Specifier used for PC-relative PLT references when supported.
PPA2ListSection GOFF PPA2 list section.
PersonalityEncoding DWARF encoding used for the personality routine reference.
PseudoProbeDescSection Section describing AutoFDO pseudo-probe function descriptors.
PseudoProbeSection Section for pseudo probe information used by AutoFDO
ReadOnly16Section XCOFF 16-byte read-only section.
ReadOnly8Section XCOFF 8-byte read-only section.
ReadOnlySection Readonly section for arbitrary initialized data.
RemarksSection Remarks section.
SFrameABIArch SFrame ABI architecture byte.
SFrameSection SFrame section.
SXDataSection COFF safe exception handlers data section (.sxdata).
SixteenByteConstantSection Mach-O 16-byte constant section.
StackMapSection StackMap section.
StackSizesSection Section containing metadata on function stack sizes.
StaticCtorSection This section contains the static constructor pointer list.
StaticDtorSection This section contains the static destructor pointer list.
SupportDebugThreadLocalLocation True if the target supports TLS offset relocation in debug sections.
SupportGOTPCRelWithOffset True if GOT PC-relative relocations may encode an added offset.
SupportIndirectSymViaGOTPCRel True if the target can replace a PC-relative data access via GOT.
SupportsCompactUnwindWithoutEHFrame True if the target object file supports emitting a compact unwind section without an associated EH frame section.
Swift5ReflectionSections Swift 5 reflection metadata sections, indexed by section kind.
TLSBSSSection Section directive for Thread Local uninitialized data.
TLSDataSection Section directive for Thread Local data. ELF, MachO, COFF, and Wasm.
TLSExtraDataSection Extra TLS Variable Data section.
TLSTLVSection Section for thread local structure information.
TLSThreadInitSection Section for thread local data initialization functions.
TM Target machine associated with this object-file lowering instance.
TOCBaseSection XCOFF TOC base section.
TTypeEncoding DWARF encoding used for type references in exception handling.
TextCoalSection Mach-O coalesced text section.
TextSection Section directive for standard text.
ThreadLocalPointerSection Mach-O thread-local pointer section.
UStringSection Mach-O UTF-16 string literal section.
XDataSection COFF exception unwind data section (.xdata).