14 #ifndef LLVM_MC_MCOBJECTFILEINFO_H 15 #define LLVM_MC_MCOBJECTFILEINFO_H 215 bool LargeCodeModel =
false);
246 return getDwarfComdatSection(
".debug_info", Hash);
285 return getDwarfComdatSection(
".debug_types", Hash);
391 bool PositionIndependent;
396 void initMachOMCObjectFileInfo(
const Triple &
T);
397 void initELFMCObjectFileInfo(
const Triple &T,
bool Large);
398 void initCOFFMCObjectFileInfo(
const Triple &T);
399 void initWasmMCObjectFileInfo(
const Triple &T);
400 MCSection *getDwarfComdatSection(
const char *
Name, uint64_t Hash)
const;
406 SDKVersion = TheSDKVersion;
Instances of this class represent a uniqued identifier for a section in the current translation unit...
MCSection * MergeableConst4Section
MCSection * DwarfStrOffSection
The DWARF v5 string offset and address table sections.
const MCSection * getConstDataSection() const
MCSection * getDwarfStrOffSection() const
MCSection * getDwarfTUIndexSection() const
MCSection * getDwarfAccelObjCSection() const
MCSection * getDwarfCUIndexSection() const
MCSection * getDwarfStrSection() const
This class represents lattice values for constants.
MCSection * getCOFFDebugTypesSection() const
const MCSection * getTLSTLVSection() const
MCSection * getDwarfLineSection() const
MCSection * getStackMapSection() const
MCSection * DwarfPubTypesSection
MCSection * getDwarfLocSection() const
MCSection * DwarfGnuPubTypesSection
Section for newer gnu pubtypes.
MCSection * getTLSBSSSection() const
const MCSection * getFourByteConstantSection() const
MCSection * StackMapSection
StackMap section.
MCSection * ConstDataSection
MCSection * SixteenByteConstantSection
MCSection * DwarfRnglistsSection
The DWARF v5 range list section.
MCSection * TextSection
Section directive for standard text.
MCSection * getEHFrameSection()
MCSection * ConstTextCoalSection
MCSection * DataCoalSection
MCSection * getDwarfAccelNamesSection() const
const MCSection * getConstDataCoalSection() const
MCSection * LazySymbolPointerSection
MCSection * getDwarfLineStrSection() const
MCSection * getDwarfARangesSection() const
bool getSupportsCompactUnwindWithoutEHFrame() const
MCSection * getCOFFGlobalTypeHashesSection() const
MCSection * getDwarfRnglistsDWOSection() const
MCSection * DwarfInfoDWOSection
MCSection * getDwarfRnglistsSection() const
MCSection * getDwarfPubNamesSection() const
MCSection * getReadOnlySection() const
MCSection * MergeableConst32Section
MCSection * DwarfDebugNamesSection
Accelerator table sections.
amdgpu Simplify well known AMD library false Value Value const Twine & Name
MCSection * getDwarfMacinfoSection() const
MCSection * getDwarfLocDWOSection() const
MCSection * DwarfLocDWOSection
MCSection * COFFDebugTypesSection
const MCSection * getCStringSection() const
MCSection * MergeableConst16Section
MCSection * DwarfPubNamesSection
MCSection * DwarfLineSection
bool getCommDirectiveSupportsAlignment() const
MCSection * getBSSSection() const
MCSection * getDataSection() const
MCSection * EightByteConstantSection
unsigned getCompactUnwindDwarfEHFrameOnly() const
MCSection * getStackSizesSection(const MCSection &TextSec) const
MCSection * getDwarfFrameSection() const
MCSection * DwarfFrameSection
MCSection * TLSDataSection
Section directive for Thread Local data. ELF, MachO, COFF, and Wasm.
MCSection * getDwarfTypesSection(uint64_t Hash) const
MCSection * getDataBSSSection() const
bool getOmitDwarfIfHaveCompactUnwind() const
Context object for machine code objects.
MCSection * DwarfStrDWOSection
MCSection * DataCommonSection
MCSection * getSXDataSection() const
const MCSection * DwarfDebugInlineSection
const MCSection * getDwarfDebugInlineSection() const
bool getSupportsWeakOmittedEHFrame() const
MCSection * getCOFFDebugSymbolsSection() const
MCSection * ConstDataCoalSection
MCSection * DrectveSection
COFF specific sections.
MCSection * getCompactUnwindSection() const
MCSection * getPDataSection() const
MCSection * DwarfAccelNamesSection
MCSection * getGFIDsSection() const
const MCSection * getMergeableConst16Section() const
MCSection * getDwarfAccelTypesSection() const
MCSection * getDwarfAbbrevSection() const
MCSection * DataSection
Section directive for standard data.
MCSection * DwarfCUIndexSection
MCSection * getDwarfAbbrevDWOSection() const
MCSection * getTLSExtraDataSection() const
MCSection * getDwarfGnuPubTypesSection() const
MCSection * getDwarfTypesDWOSection() const
MCSection * ThreadLocalPointerSection
MCSection * DwarfLineStrSection
MCSection * getDwarfAddrSection() const
MCSection * DwarfSwiftASTSection
MCSection * TLSTLVSection
Section for thread local structure information.
MCSection * getNonLazySymbolPointerSection() const
unsigned getFDEEncoding() const
MCSection * DwarfStrSection
MCSection * DwarfAccelNamespaceSection
MCSection * getDwarfLineDWOSection() const
const MCSection * getMergeableConst8Section() const
MCSection * UStringSection
Environment getObjectFileType() const
bool SupportsCompactUnwindWithoutEHFrame
True if the target object file supports emitting a compact unwind section without an associated EH fr...
MCSection * getDwarfSwiftASTSection() const
bool CommDirectiveSupportsAlignment
True if .comm supports alignment.
MCSection * DwarfInfoSection
Triple - Helper class for working with autoconf configuration names.
MCSection * getDrectveSection() const
MCSection * COFFDebugSymbolsSection
MCSection * DwarfAbbrevSection
MCSection * getThreadLocalPointerSection() const
MCSection * EHFrameSection
EH frame section.
const MCSection * getEightByteConstantSection() const
MCSection * getDataRelROSection() const
MCSection * DwarfLoclistsSection
The DWARF v5 locations list section.
MCSection * DwarfTypesDWOSection
MCSection * DwarfAddrSection
MCSection * DwarfLineDWOSection
MCSection * DwarfRangesSection
const MCSection * getConstTextCoalSection() const
const Triple & getTargetTriple() const
MCSection * DwarfARangesSection
MCSection * DataBSSSection
const MCSection * getDataCommonSection() const
MCSection * CompactUnwindSection
If exception handling is supported by the target and the target can support a compact representation ...
MCSection * getDwarfInfoSection() const
MCSection * DwarfAccelTypesSection
MCSection * getDwarfDebugNamesSection() const
void setSDKVersion(const VersionTuple &TheSDKVersion)
MCSection * getDwarfStrOffDWOSection() const
DenseMap< const MCSymbol *, unsigned > StackSizesUniquing
MCSection * DwarfStrOffDWOSection
MCSection * getDwarfInfoSection(uint64_t Hash) const
MCSection * DwarfGnuPubNamesSection
Section for newer gnu pubnames.
MCSection * DwarfAbbrevDWOSection
const MCSection * getMergeableConst4Section() const
MCSection * getDwarfPubTypesSection() const
MCSection * FaultMapSection
FaultMap section.
bool OmitDwarfIfHaveCompactUnwind
OmitDwarfIfHaveCompactUnwind - True if the target object file supports having some functions with com...
MCSection * FourByteConstantSection
void InitMCObjectFileInfo(const Triple &TT, bool PIC, MCContext &ctx, bool LargeCodeModel=false)
MCSection * SXDataSection
unsigned FDECFIEncoding
FDE CFI encoding.
MCSection * getDwarfStrDWOSection() const
const MCSection * getMergeableConst32Section() const
Represents a version number in the form major[.minor[.subminor[.build]]].
MCSection * getXDataSection() const
MCSection * LSDASection
If exception handling is supported by the target, this is the section the Language Specific Data Area...
MCSection * TLSExtraDataSection
Extra TLS Variable Data section.
MCSection * getLazySymbolPointerSection() const
unsigned CompactUnwindDwarfEHFrameOnly
Compact unwind encoding indicating that we should emit only an EH frame.
const VersionTuple & getSDKVersion() const
MCSection * StackSizesSection
Section containing metadata on function stack sizes.
MCSection * getDwarfGnuPubNamesSection() const
MCSection * DwarfAccelObjCSection
MCSection * getFaultMapSection() const
const MCSection * getTLSThreadInitSection() const
MCSection * getTextSection() const
MCSection * COFFGlobalTypeHashesSection
MCSection * TLSBSSSection
Section directive for Thread Local uninitialized data.
MCSection * NonLazySymbolPointerSection
MCSection * TextCoalSection
MCSection * DwarfTUIndexSection
MCSection * getDwarfAccelNamespaceSection() const
const MCSection * TLSThreadInitSection
Section for thread local data initialization functions.
MCSection * DwarfRnglistsDWOSection
The DWARF v5 range list section for fission.
MCSection * CStringSection
Defines the llvm::VersionTuple class, which represents a version in the form major[.minor[.subminor]].
bool SupportsWeakOmittedEHFrame
True if target object file supports a weak_definition of constant 0 for an omitted EH frame...
MCSection * getLSDASection() const
MCSection * getDwarfInfoDWOSection() const
MCSection * BSSSection
Section that is default initialized to zero.
MCSection * ReadOnlySection
Section that is readonly and can contain arbitrary initialized data.
bool isPositionIndependent() const
MCSection * DwarfMacinfoSection
MCSection * getDwarfRangesSection() const
const MCSection * getTLSDataSection() const
MCSection * DataRelROSection
MCSection * DwarfLocSection
const MCSection * getSixteenByteConstantSection() const
const MCSection * getUStringSection() const
MCSection * getTextCoalSection() const
const MCSection * getDataCoalSection() const
MCSection * getDwarfLoclistsSection() const
MCSection * MergeableConst8Section