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 MCSection * getTextSection () const
const MCSection * getDataSection () const
const MCSection * getBSSSection () const
const MCSection * getLSDASection () const
const MCSection * getCompactUnwindSection () const
const MCSection * getDwarfAbbrevSection () const
const MCSection * getDwarfInfoSection () const
const MCSection * getDwarfLineSection () const
const MCSection * getDwarfFrameSection () const
const MCSection * getDwarfPubNamesSection () const
const MCSection * getDwarfPubTypesSection () const
const MCSection * getDwarfGnuPubNamesSection () const
const MCSection * getDwarfGnuPubTypesSection () const
const MCSection * getDwarfDebugInlineSection () const
const MCSection * getDwarfStrSection () const
const MCSection * getDwarfLocSection () const
const MCSection * getDwarfARangesSection () const
const MCSection * getDwarfRangesSection () const
const MCSection * getDwarfMacroInfoSection () const
const MCSection * getDwarfAccelNamesSection () const
const MCSection * getDwarfAccelObjCSection () const
const MCSection * getDwarfAccelNamespaceSection () const
const MCSection * getDwarfAccelTypesSection () const
const MCSection * getDwarfInfoDWOSection () const
const MCSection * getDwarfTypesSection (uint64_t Hash) const
const MCSection * getDwarfTypesDWOSection () const
const MCSection * getDwarfAbbrevDWOSection () const
const MCSection * getDwarfStrDWOSection () const
const MCSection * getDwarfLineDWOSection () const
const MCSection * getDwarfLocDWOSection () const
const MCSection * getDwarfStrOffDWOSection () const
const MCSection * getDwarfAddrSection () const
const MCSection * getCOFFDebugSymbolsSection () const
const MCSection * getTLSExtraDataSection () const
const MCSection * getTLSDataSection () const
const MCSection * getTLSBSSSection () const
const MCSection * getStackMapSection () const
const MCSection * getDataRelSection () const
const MCSection * getDataRelLocalSection () const
const MCSection * getDataRelROSection () const
const MCSection * getDataRelROLocalSection () const
const MCSection * getMergeableConst4Section () const
const MCSection * getMergeableConst8Section () const
const MCSection * getMergeableConst16Section () const
const MCSection * getTLSTLVSection () const
const MCSection * getTLSThreadInitSection () const
const MCSection * getCStringSection () const
const MCSection * getUStringSection () const
const MCSection * getTextCoalSection () const
const MCSection * getConstTextCoalSection () const
const MCSection * getConstDataSection () const
const MCSection * getDataCoalSection () const
const MCSection * getDataCommonSection () const
const MCSection * getDataBSSSection () const
const MCSection * getFourByteConstantSection () const
const MCSection * getEightByteConstantSection () const
const MCSection * getSixteenByteConstantSection () const
const MCSection * getLazySymbolPointerSection () const
const MCSection * getNonLazySymbolPointerSection () const
const MCSection * getDrectveSection () const
const MCSection * getPDataSection () const
const MCSection * getXDataSection () const
const MCSection * getEHFrameSection ()
Environment getObjectFileType () const
Reloc::Model getRelocM () const
const Triple & getTargetTriple () 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 MCSection * TextSection
const MCSection * DataSection
const MCSection * BSSSection
 BSSSection - Section that is default initialized to zero.
const MCSection * ReadOnlySection
const MCSection * StaticCtorSection
const MCSection * StaticDtorSection
const MCSection * LSDASection
const MCSection * CompactUnwindSection
const MCSection * DwarfAbbrevSection
const MCSection * DwarfInfoSection
const MCSection * DwarfLineSection
const MCSection * DwarfFrameSection
const MCSection * DwarfPubTypesSection
const MCSection * DwarfDebugInlineSection
const MCSection * DwarfStrSection
const MCSection * DwarfLocSection
const MCSection * DwarfARangesSection
const MCSection * DwarfRangesSection
const MCSection * DwarfMacroInfoSection
const MCSection * DwarfPubNamesSection
const MCSection * DwarfAccelNamesSection
const MCSection * DwarfAccelObjCSection
const MCSection * DwarfAccelNamespaceSection
const MCSection * DwarfAccelTypesSection
const MCSection * DwarfInfoDWOSection
 These are used for the Fission separate debug information files.
const MCSection * DwarfTypesDWOSection
const MCSection * DwarfAbbrevDWOSection
const MCSection * DwarfStrDWOSection
const MCSection * DwarfLineDWOSection
const MCSection * DwarfLocDWOSection
const MCSection * DwarfStrOffDWOSection
const MCSection * DwarfAddrSection
const MCSection * DwarfGnuPubNamesSection
 Sections for newer gnu pubnames and pubtypes.
const MCSection * DwarfGnuPubTypesSection
const MCSection * COFFDebugSymbolsSection
const MCSection * TLSExtraDataSection
const MCSection * TLSDataSection
const MCSection * TLSBSSSection
const MCSection * StackMapSection
 StackMap section.
const MCSection * EHFrameSection
const MCSection * DataRelSection
const MCSection * DataRelLocalSection
const MCSection * DataRelROSection
const MCSection * DataRelROLocalSection
const MCSection * MergeableConst4Section
const MCSection * MergeableConst8Section
const MCSection * MergeableConst16Section
const MCSection * TLSTLVSection
const MCSection * TLSThreadInitSection
const MCSection * CStringSection
const MCSection * UStringSection
const MCSection * TextCoalSection
const MCSection * ConstTextCoalSection
const MCSection * ConstDataSection
const MCSection * DataCoalSection
const MCSection * DataCommonSection
const MCSection * DataBSSSection
const MCSection * FourByteConstantSection
const MCSection * EightByteConstantSection
const MCSection * SixteenByteConstantSection
const MCSection * LazySymbolPointerSection
const MCSection * NonLazySymbolPointerSection
const MCSection * DrectveSection
const MCSection * PDataSection
const MCSection * XDataSection

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: