LLVM API Documentation

Public Types | Public Member Functions | Protected Attributes
llvm::MCObjectFileInfo Class Reference

#include <MCObjectFileInfo.h>

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

List of all members.

Public Types

enum  Environment { IsMachO, IsELF, IsCOFF }

Public Member Functions

void InitMCObjectFileInfo (StringRef TT, Reloc::Model RM, CodeModel::Model CM, MCContext &ctx)
bool getSupportsWeakOmittedEHFrame () const
bool getSupportsCompactUnwindWithoutEHFrame () const
bool getCommDirectiveSupportsAlignment () const
unsigned getPersonalityEncoding () const
unsigned getLSDAEncoding () const
unsigned getFDEEncoding () const
unsigned getTTypeEncoding () const
unsigned getCompactUnwindDwarfEHFrameOnly () const
const MCSectiongetTextSection () const
const MCSectiongetDataSection () const
const MCSectiongetBSSSection () const
const MCSectiongetLSDASection () const
const MCSectiongetCompactUnwindSection () const
const MCSectiongetDwarfAbbrevSection () const
const MCSectiongetDwarfInfoSection () const
const MCSectiongetDwarfLineSection () const
const MCSectiongetDwarfFrameSection () const
const MCSectiongetDwarfPubNamesSection () const
const MCSectiongetDwarfPubTypesSection () const
const MCSectiongetDwarfGnuPubNamesSection () const
const MCSectiongetDwarfGnuPubTypesSection () const
const MCSectiongetDwarfDebugInlineSection () const
const MCSectiongetDwarfStrSection () const
const MCSectiongetDwarfLocSection () const
const MCSectiongetDwarfARangesSection () const
const MCSectiongetDwarfRangesSection () const
const MCSectiongetDwarfMacroInfoSection () const
const MCSectiongetDwarfAccelNamesSection () const
const MCSectiongetDwarfAccelObjCSection () const
const MCSectiongetDwarfAccelNamespaceSection () const
const MCSectiongetDwarfAccelTypesSection () const
const MCSectiongetDwarfInfoDWOSection () const
const MCSectiongetDwarfTypesSection (uint64_t Hash) const
const MCSectiongetDwarfTypesDWOSection () const
const MCSectiongetDwarfAbbrevDWOSection () const
const MCSectiongetDwarfStrDWOSection () const
const MCSectiongetDwarfLineDWOSection () const
const MCSectiongetDwarfLocDWOSection () const
const MCSectiongetDwarfStrOffDWOSection () const
const MCSectiongetDwarfAddrSection () const
const MCSectiongetCOFFDebugSymbolsSection () const
const MCSectiongetTLSExtraDataSection () const
const MCSectiongetTLSDataSection () const
const MCSectiongetTLSBSSSection () const
const MCSectiongetStackMapSection () const
const MCSectiongetDataRelSection () const
const MCSectiongetDataRelLocalSection () const
const MCSectiongetDataRelROSection () const
const MCSectiongetDataRelROLocalSection () const
const MCSectiongetMergeableConst4Section () const
const MCSectiongetMergeableConst8Section () const
const MCSectiongetMergeableConst16Section () const
const MCSectiongetTLSTLVSection () const
const MCSectiongetTLSThreadInitSection () const
const MCSectiongetCStringSection () const
const MCSectiongetUStringSection () const
const MCSectiongetTextCoalSection () const
const MCSectiongetConstTextCoalSection () const
const MCSectiongetConstDataSection () const
const MCSectiongetDataCoalSection () const
const MCSectiongetDataCommonSection () const
const MCSectiongetDataBSSSection () const
const MCSectiongetFourByteConstantSection () const
const MCSectiongetEightByteConstantSection () const
const MCSectiongetSixteenByteConstantSection () const
const MCSectiongetLazySymbolPointerSection () const
const MCSectiongetNonLazySymbolPointerSection () const
const MCSectiongetDrectveSection () const
const MCSectiongetPDataSection () const
const MCSectiongetXDataSection () const
const MCSectiongetEHFrameSection ()
Environment getObjectFileType () const
Reloc::Model getRelocM () const
const TriplegetTargetTriple () const

Protected Attributes

bool CommDirectiveSupportsAlignment
bool SupportsWeakOmittedEHFrame
bool SupportsCompactUnwindWithoutEHFrame
unsigned PersonalityEncoding
unsigned LSDAEncoding
unsigned FDECFIEncoding
unsigned TTypeEncoding
unsigned EHSectionType
 Section flags for eh_frame.
unsigned EHSectionFlags
unsigned CompactUnwindDwarfEHFrameOnly
const MCSectionTextSection
const MCSectionDataSection
const MCSectionBSSSection
 BSSSection - Section that is default initialized to zero.
const MCSectionReadOnlySection
const MCSectionStaticCtorSection
const MCSectionStaticDtorSection
const MCSectionLSDASection
const MCSectionCompactUnwindSection
const MCSectionDwarfAbbrevSection
const MCSectionDwarfInfoSection
const MCSectionDwarfLineSection
const MCSectionDwarfFrameSection
const MCSectionDwarfPubTypesSection
const MCSectionDwarfDebugInlineSection
const MCSectionDwarfStrSection
const MCSectionDwarfLocSection
const MCSectionDwarfARangesSection
const MCSectionDwarfRangesSection
const MCSectionDwarfMacroInfoSection
const MCSectionDwarfPubNamesSection
const MCSectionDwarfAccelNamesSection
const MCSectionDwarfAccelObjCSection
const MCSectionDwarfAccelNamespaceSection
const MCSectionDwarfAccelTypesSection
const MCSectionDwarfInfoDWOSection
 These are used for the Fission separate debug information files.
const MCSectionDwarfTypesDWOSection
const MCSectionDwarfAbbrevDWOSection
const MCSectionDwarfStrDWOSection
const MCSectionDwarfLineDWOSection
const MCSectionDwarfLocDWOSection
const MCSectionDwarfStrOffDWOSection
const MCSectionDwarfAddrSection
const MCSectionDwarfGnuPubNamesSection
 Sections for newer gnu pubnames and pubtypes.
const MCSectionDwarfGnuPubTypesSection
const MCSectionCOFFDebugSymbolsSection
const MCSectionTLSExtraDataSection
const MCSectionTLSDataSection
const MCSectionTLSBSSSection
const MCSectionStackMapSection
 StackMap section.
const MCSectionEHFrameSection
const MCSectionDataRelSection
const MCSectionDataRelLocalSection
const MCSectionDataRelROSection
const MCSectionDataRelROLocalSection
const MCSectionMergeableConst4Section
const MCSectionMergeableConst8Section
const MCSectionMergeableConst16Section
const MCSectionTLSTLVSection
const MCSectionTLSThreadInitSection
const MCSectionCStringSection
const MCSectionUStringSection
const MCSectionTextCoalSection
const MCSectionConstTextCoalSection
const MCSectionConstDataSection
const MCSectionDataCoalSection
const MCSectionDataCommonSection
const MCSectionDataBSSSection
const MCSectionFourByteConstantSection
const MCSectionEightByteConstantSection
const MCSectionSixteenByteConstantSection
const MCSectionLazySymbolPointerSection
const MCSectionNonLazySymbolPointerSection
const MCSectionDrectveSection
const MCSectionPDataSection
const MCSectionXDataSection

Detailed Description

Definition at line 25 of file MCObjectFileInfo.h.


Member Enumeration Documentation

Enumerator:
IsMachO 
IsELF 
IsCOFF 

Definition at line 363 of file MCObjectFileInfo.h.


Member Function Documentation

Definition at line 205 of file MCObjectFileInfo.h.

References CommDirectiveSupportsAlignment.

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

Definition at line 214 of file MCObjectFileInfo.h.

References CompactUnwindDwarfEHFrameOnly.

Referenced by llvm::MCDwarfFrameEmitter::Emit().

Definition at line 222 of file MCObjectFileInfo.h.

References CompactUnwindSection.

Referenced by llvm::MCDwarfFrameEmitter::Emit().

Definition at line 331 of file MCObjectFileInfo.h.

References ConstDataSection.

Definition at line 328 of file MCObjectFileInfo.h.

References ConstTextCoalSection.

Referenced by llvm::ARMAsmPrinter::EmitStartOfAsmFile().

Definition at line 325 of file MCObjectFileInfo.h.

References CStringSection.

Definition at line 334 of file MCObjectFileInfo.h.

References DataBSSSection.

Definition at line 332 of file MCObjectFileInfo.h.

References DataCoalSection.

Definition at line 333 of file MCObjectFileInfo.h.

References DataCommonSection.

Definition at line 302 of file MCObjectFileInfo.h.

References DataRelLocalSection.

Definition at line 306 of file MCObjectFileInfo.h.

References DataRelROLocalSection.

Definition at line 305 of file MCObjectFileInfo.h.

References DataRelROSection.

ELF specific sections.

Definition at line 301 of file MCObjectFileInfo.h.

References DataRelSection.

Referenced by llvm::ARMAsmPrinter::EmitEndOfAsmFile(), and llvm::X86AsmPrinter::EmitEndOfAsmFile().

COFF specific sections.

Definition at line 353 of file MCObjectFileInfo.h.

References DrectveSection.

Referenced by llvm::X86AsmPrinter::EmitEndOfAsmFile().

Definition at line 268 of file MCObjectFileInfo.h.

References DwarfAbbrevDWOSection.

Definition at line 225 of file MCObjectFileInfo.h.

References DwarfAbbrevSection.

Referenced by llvm::MCGenDwarfInfo::Emit(), and EmitGenDwarfAbbrev().

Definition at line 255 of file MCObjectFileInfo.h.

References DwarfAccelNamespaceSection.

Definition at line 249 of file MCObjectFileInfo.h.

References DwarfAccelNamesSection.

Definition at line 252 of file MCObjectFileInfo.h.

References DwarfAccelObjCSection.

Definition at line 258 of file MCObjectFileInfo.h.

References DwarfAccelTypesSection.

Definition at line 283 of file MCObjectFileInfo.h.

References DwarfAddrSection.

Definition at line 242 of file MCObjectFileInfo.h.

References DwarfARangesSection.

Referenced by llvm::MCGenDwarfInfo::Emit(), and EmitGenDwarfAranges().

Definition at line 237 of file MCObjectFileInfo.h.

References DwarfDebugInlineSection.

Definition at line 228 of file MCObjectFileInfo.h.

References DwarfFrameSection.

Referenced by llvm::MCDwarfFrameEmitter::Emit().

Definition at line 231 of file MCObjectFileInfo.h.

References DwarfGnuPubNamesSection.

Definition at line 234 of file MCObjectFileInfo.h.

References DwarfGnuPubTypesSection.

Definition at line 261 of file MCObjectFileInfo.h.

References DwarfInfoDWOSection.

Definition at line 226 of file MCObjectFileInfo.h.

References DwarfInfoSection.

Referenced by llvm::MCGenDwarfInfo::Emit(), and EmitGenDwarfInfo().

Definition at line 274 of file MCObjectFileInfo.h.

References DwarfLineDWOSection.

Definition at line 227 of file MCObjectFileInfo.h.

References DwarfLineSection.

Referenced by llvm::MCDwarfLineTable::Emit(), and EmitDwarfLineTable().

Definition at line 277 of file MCObjectFileInfo.h.

References DwarfLocDWOSection.

Definition at line 241 of file MCObjectFileInfo.h.

References DwarfLocSection.

Definition at line 244 of file MCObjectFileInfo.h.

References DwarfMacroInfoSection.

Definition at line 229 of file MCObjectFileInfo.h.

References DwarfPubNamesSection.

Definition at line 230 of file MCObjectFileInfo.h.

References DwarfPubTypesSection.

Definition at line 243 of file MCObjectFileInfo.h.

References DwarfRangesSection.

Referenced by llvm::MCGenDwarfInfo::Emit(), and EmitGenDwarfRanges().

Definition at line 271 of file MCObjectFileInfo.h.

References DwarfStrDWOSection.

Definition at line 280 of file MCObjectFileInfo.h.

References DwarfStrOffDWOSection.

Definition at line 240 of file MCObjectFileInfo.h.

References DwarfStrSection.

Definition at line 265 of file MCObjectFileInfo.h.

References DwarfTypesDWOSection.

Definition at line 357 of file MCObjectFileInfo.h.

References EHFrameSection.

Definition at line 338 of file MCObjectFileInfo.h.

References EightByteConstantSection.

Definition at line 211 of file MCObjectFileInfo.h.

References FDECFIEncoding.

Definition at line 335 of file MCObjectFileInfo.h.

References FourByteConstantSection.

Definition at line 344 of file MCObjectFileInfo.h.

References LazySymbolPointerSection.

Definition at line 221 of file MCObjectFileInfo.h.

References LSDASection.

Referenced by llvm::EHStreamer::emitExceptionTable().

Definition at line 315 of file MCObjectFileInfo.h.

References MergeableConst16Section.

Definition at line 309 of file MCObjectFileInfo.h.

References MergeableConst4Section.

Definition at line 312 of file MCObjectFileInfo.h.

References MergeableConst8Section.

Definition at line 347 of file MCObjectFileInfo.h.

References NonLazySymbolPointerSection.

Referenced by llvm::ARMAsmPrinter::EmitEndOfAsmFile().

Definition at line 364 of file MCObjectFileInfo.h.

Definition at line 354 of file MCObjectFileInfo.h.

References PDataSection.

Referenced by llvm::WinEH::UnwindEmitter::getPDataSection().

Definition at line 341 of file MCObjectFileInfo.h.

References SixteenByteConstantSection.

Definition at line 297 of file MCObjectFileInfo.h.

References StackMapSection.

Referenced by llvm::StackMaps::serializeToStackMapSection().

Definition at line 202 of file MCObjectFileInfo.h.

References SupportsCompactUnwindWithoutEHFrame.

Referenced by llvm::MCDwarfFrameEmitter::Emit().

Definition at line 199 of file MCObjectFileInfo.h.

References SupportsWeakOmittedEHFrame.

Definition at line 388 of file MCObjectFileInfo.h.

Definition at line 327 of file MCObjectFileInfo.h.

References TextCoalSection.

Referenced by llvm::ARMAsmPrinter::EmitStartOfAsmFile().

Definition at line 295 of file MCObjectFileInfo.h.

References TLSBSSSection.

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

Definition at line 294 of file MCObjectFileInfo.h.

References TLSDataSection.

Definition at line 291 of file MCObjectFileInfo.h.

References TLSExtraDataSection.

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

Definition at line 322 of file MCObjectFileInfo.h.

References TLSThreadInitSection.

MachO specific sections.

Definition at line 321 of file MCObjectFileInfo.h.

References TLSTLVSection.

Definition at line 212 of file MCObjectFileInfo.h.

References TTypeEncoding.

Referenced by llvm::EHStreamer::emitExceptionTable().

Definition at line 326 of file MCObjectFileInfo.h.

References UStringSection.

Definition at line 355 of file MCObjectFileInfo.h.

References XDataSection.

Referenced by llvm::WinEH::UnwindEmitter::getXDataSection().


Member Data Documentation

Definition at line 131 of file MCObjectFileInfo.h.

Referenced by getCOFFDebugSymbolsSection().

CommDirectiveSupportsAlignment - True if .comm supports alignment. This is a hack for as long as we support 10.4 Tiger, whose assembler doesn't support alignment on comm.

Definition at line 30 of file MCObjectFileInfo.h.

Referenced by getCommDirectiveSupportsAlignment(), and InitMCObjectFileInfo().

CompactUnwindDwarfEHFrameOnly - Compact unwind encoding indicating that we should emit only an EH frame.

Definition at line 54 of file MCObjectFileInfo.h.

Referenced by getCompactUnwindDwarfEHFrameOnly(), and InitMCObjectFileInfo().

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.

Definition at line 88 of file MCObjectFileInfo.h.

Referenced by getCompactUnwindSection(), and InitMCObjectFileInfo().

Definition at line 179 of file MCObjectFileInfo.h.

Referenced by getConstDataSection().

Definition at line 178 of file MCObjectFileInfo.h.

Referenced by getConstTextCoalSection().

Definition at line 182 of file MCObjectFileInfo.h.

Referenced by getDataBSSSection().

Definition at line 180 of file MCObjectFileInfo.h.

Referenced by getDataCoalSection().

Definition at line 181 of file MCObjectFileInfo.h.

Referenced by getDataCommonSection().

Definition at line 156 of file MCObjectFileInfo.h.

Referenced by getDataRelLocalSection().

Definition at line 158 of file MCObjectFileInfo.h.

Referenced by getDataRelROLocalSection().

ELF specific sections.

Definition at line 155 of file MCObjectFileInfo.h.

Referenced by getDataRelSection().

COFF specific sections.

Definition at line 191 of file MCObjectFileInfo.h.

Referenced by getDrectveSection().

Definition at line 120 of file MCObjectFileInfo.h.

Referenced by getDwarfAbbrevDWOSection().

Definition at line 114 of file MCObjectFileInfo.h.

Referenced by getDwarfAccelNamespaceSection(), and InitMCObjectFileInfo().

DwarfAccelNamesSection, DwarfAccelObjCSection, DwarfAccelNamespaceSection, DwarfAccelTypesSection - If we use the DWARF accelerated hash tables then we want to emit these sections.

Definition at line 112 of file MCObjectFileInfo.h.

Referenced by getDwarfAccelNamesSection(), and InitMCObjectFileInfo().

Definition at line 113 of file MCObjectFileInfo.h.

Referenced by getDwarfAccelObjCSection(), and InitMCObjectFileInfo().

Definition at line 115 of file MCObjectFileInfo.h.

Referenced by getDwarfAccelTypesSection(), and InitMCObjectFileInfo().

Definition at line 125 of file MCObjectFileInfo.h.

Referenced by getDwarfAddrSection().

Sections for newer gnu pubnames and pubtypes.

Definition at line 128 of file MCObjectFileInfo.h.

Referenced by getDwarfGnuPubNamesSection().

Definition at line 129 of file MCObjectFileInfo.h.

Referenced by getDwarfGnuPubTypesSection().

These are used for the Fission separate debug information files.

Definition at line 118 of file MCObjectFileInfo.h.

Referenced by getDwarfInfoDWOSection().

Definition at line 122 of file MCObjectFileInfo.h.

Referenced by getDwarfLineDWOSection().

Definition at line 123 of file MCObjectFileInfo.h.

Referenced by getDwarfLocDWOSection().

Definition at line 105 of file MCObjectFileInfo.h.

Referenced by getDwarfPubNamesSection().

Definition at line 121 of file MCObjectFileInfo.h.

Referenced by getDwarfStrDWOSection().

Definition at line 124 of file MCObjectFileInfo.h.

Referenced by getDwarfStrOffDWOSection().

Definition at line 119 of file MCObjectFileInfo.h.

Referenced by getDwarfTypesDWOSection().

EHFrameSection - EH frame section. It is initialized on demand so it can be overwritten (with uniquing).

Definition at line 151 of file MCObjectFileInfo.h.

Referenced by getEHFrameSection(), llvm::NVPTXTargetObjectFile::Initialize(), InitMCObjectFileInfo(), llvm::NVPTXTargetObjectFile::NVPTXTargetObjectFile(), and llvm::NVPTXTargetObjectFile::~NVPTXTargetObjectFile().

Definition at line 50 of file MCObjectFileInfo.h.

Section flags for eh_frame.

Definition at line 49 of file MCObjectFileInfo.h.

Definition at line 184 of file MCObjectFileInfo.h.

Referenced by getEightByteConstantSection().

Definition at line 45 of file MCObjectFileInfo.h.

Referenced by getFDEEncoding(), and InitMCObjectFileInfo().

Definition at line 183 of file MCObjectFileInfo.h.

Referenced by getFourByteConstantSection().

Definition at line 186 of file MCObjectFileInfo.h.

Referenced by getLazySymbolPointerSection().

Definition at line 44 of file MCObjectFileInfo.h.

Referenced by getLSDAEncoding(), and InitMCObjectFileInfo().

LSDASection - If exception handling is supported by the target, this is the section the Language Specific Data Area information is emitted to.

Definition at line 83 of file MCObjectFileInfo.h.

Referenced by getLSDASection(), llvm::NVPTXTargetObjectFile::Initialize(), llvm::NVPTXTargetObjectFile::NVPTXTargetObjectFile(), and llvm::NVPTXTargetObjectFile::~NVPTXTargetObjectFile().

Definition at line 187 of file MCObjectFileInfo.h.

Referenced by getNonLazySymbolPointerSection().

Definition at line 192 of file MCObjectFileInfo.h.

Referenced by getPDataSection().

PersonalityEncoding, LSDAEncoding, TTypeEncoding - Some encoding values for EH.

Definition at line 43 of file MCObjectFileInfo.h.

Referenced by getPersonalityEncoding(), and InitMCObjectFileInfo().

Definition at line 185 of file MCObjectFileInfo.h.

Referenced by getSixteenByteConstantSection().

StackMap section.

Definition at line 147 of file MCObjectFileInfo.h.

Referenced by getStackMapSection().

SupportsCompactUnwindWithoutEHFrame - True if the target object file supports emitting a compact unwind section without an associated EH frame section.

Definition at line 39 of file MCObjectFileInfo.h.

Referenced by getSupportsCompactUnwindWithoutEHFrame(), and InitMCObjectFileInfo().

SupportsWeakEmptyEHFrame - True if target object file supports a weak_definition of constant 0 for an omitted EH frame.

Definition at line 34 of file MCObjectFileInfo.h.

Referenced by getSupportsWeakOmittedEHFrame(), and InitMCObjectFileInfo().

Definition at line 177 of file MCObjectFileInfo.h.

Referenced by getTextCoalSection().

TLSBSSSection - Section directive for Thread Local uninitialized data. Null if this target doesn't support a BSS section. ELF and MachO only.

Definition at line 144 of file MCObjectFileInfo.h.

Referenced by getTLSBSSSection().

TLSDataSection - Section directive for Thread Local data. ELF, MachO and COFF.

Definition at line 139 of file MCObjectFileInfo.h.

Referenced by getTLSDataSection().

Definition at line 135 of file MCObjectFileInfo.h.

Referenced by getTLSExtraDataSection().

TLSThreadInitSection - Section for thread local data initialization functions.

Definition at line 173 of file MCObjectFileInfo.h.

Referenced by getTLSThreadInitSection().

MachO specific sections. TLSTLVSection - Section for thread local structure information. Contains the source code name of the variable, visibility and a pointer to the initial value (.tdata or .tbss).

Definition at line 169 of file MCObjectFileInfo.h.

Referenced by getTLSTLVSection().

Definition at line 46 of file MCObjectFileInfo.h.

Referenced by getTTypeEncoding(), and InitMCObjectFileInfo().

Definition at line 176 of file MCObjectFileInfo.h.

Referenced by getUStringSection().

Definition at line 193 of file MCObjectFileInfo.h.

Referenced by getXDataSection().


The documentation for this class was generated from the following files: