|
| X86ELFTargetObjectFile () |
|
const MCExpr * | getDebugThreadLocalSymbol (const MCSymbol *Sym) const override |
| Describe a TLS variable address within debug info. More...
|
|
| TargetLoweringObjectFileELF ()=default |
|
| ~TargetLoweringObjectFileELF () override=default |
|
void | Initialize (MCContext &Ctx, const TargetMachine &TM) override |
| This method must be called before any actual lowering is done. More...
|
|
void | emitModuleMetadata (MCStreamer &Streamer, Module &M) const override |
| Emit Obj-C garbage collection and linker options. More...
|
|
void | emitPersonalityValue (MCStreamer &Streamer, const DataLayout &DL, const MCSymbol *Sym) const override |
|
MCSection * | getSectionForConstant (const DataLayout &DL, SectionKind Kind, const Constant *C, unsigned &Align) const override |
| Given a constant with the SectionKind, return a section that it should be placed in. More...
|
|
MCSection * | getExplicitSectionGlobal (const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const override |
| Targets should implement this method to assign a section to globals with an explicit section specfied. More...
|
|
MCSection * | SelectSectionForGlobal (const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const override |
|
MCSection * | getSectionForJumpTable (const Function &F, const TargetMachine &TM) const override |
|
bool | shouldPutJumpTableInFunctionSection (bool UsesLabelDifference, const Function &F) const override |
|
const MCExpr * | getTTypeGlobalReference (const GlobalValue *GV, unsigned Encoding, const TargetMachine &TM, MachineModuleInfo *MMI, MCStreamer &Streamer) const override |
| Return an MCExpr to use for a reference to the specified type info global variable from exception handling information. More...
|
|
MCSymbol * | getCFIPersonalitySymbol (const GlobalValue *GV, const TargetMachine &TM, MachineModuleInfo *MMI) const override |
|
void | InitializeELF (bool UseInitArray_) |
|
MCSection * | getStaticCtorSection (unsigned Priority, const MCSymbol *KeySym) const override |
|
MCSection * | getStaticDtorSection (unsigned Priority, const MCSymbol *KeySym) const override |
|
const MCExpr * | lowerRelativeReference (const GlobalValue *LHS, const GlobalValue *RHS, const TargetMachine &TM) const override |
|
MCSection * | getSectionForCommandLines () const override |
| If supported, return the section to use for the llvm.commandline metadata. More...
|
|
| TargetLoweringObjectFile ()=default |
|
| TargetLoweringObjectFile (const TargetLoweringObjectFile &)=delete |
|
TargetLoweringObjectFile & | operator= (const TargetLoweringObjectFile &)=delete |
|
virtual | ~TargetLoweringObjectFile () |
|
MCContext & | getContext () const |
|
Mangler & | getMangler () const |
|
MCSection * | SectionForGlobal (const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const |
| This method computes the appropriate section to emit the specified global variable or function definition. More...
|
|
MCSection * | SectionForGlobal (const GlobalObject *GO, const TargetMachine &TM) const |
| This method computes the appropriate section to emit the specified global variable or function definition. More...
|
|
virtual void | getNameWithPrefix (SmallVectorImpl< char > &OutName, const GlobalValue *GV, const TargetMachine &TM) const |
|
MCSymbol * | getSymbolWithGlobalValueBase (const GlobalValue *GV, StringRef Suffix, const TargetMachine &TM) const |
| Return the MCSymbol for a private symbol with global value name as its base, with the specified suffix. More...
|
|
unsigned | getPersonalityEncoding () const |
|
unsigned | getLSDAEncoding () const |
|
unsigned | getTTypeEncoding () const |
|
const MCExpr * | getTTypeReference (const MCSymbolRefExpr *Sym, unsigned Encoding, MCStreamer &Streamer) const |
|
bool | supportIndirectSymViaGOTPCRel () const |
| Target supports replacing a data "PC"-relative access to a symbol through another symbol, by accessing the later via a GOT entry instead? More...
|
|
bool | supportGOTPCRelWithOffset () const |
| Target GOT "PC"-relative relocation supports encoding an additional binary expression with an offset? More...
|
|
bool | supportDebugThreadLocalLocation () const |
| Target supports TLS offset relocation in debug section? More...
|
|
virtual const MCExpr * | getIndirectSymViaGOTPCRel (const MCSymbol *Sym, const MCValue &MV, int64_t Offset, MachineModuleInfo *MMI, MCStreamer &Streamer) const |
| Get the target specific PC relative GOT entry relocation. More...
|
|
virtual void | emitLinkerFlagsForGlobal (raw_ostream &OS, const GlobalValue *GV) const |
|
virtual void | emitLinkerFlagsForUsed (raw_ostream &OS, const GlobalValue *GV) const |
|
void | InitMCObjectFileInfo (const Triple &TT, bool PIC, MCContext &ctx, bool LargeCodeModel=false) |
|
bool | getSupportsWeakOmittedEHFrame () const |
|
bool | getSupportsCompactUnwindWithoutEHFrame () const |
|
bool | getOmitDwarfIfHaveCompactUnwind () const |
|
bool | getCommDirectiveSupportsAlignment () const |
|
unsigned | getFDEEncoding () const |
|
unsigned | getCompactUnwindDwarfEHFrameOnly () const |
|
MCSection * | getTextSection () const |
|
MCSection * | getDataSection () const |
|
MCSection * | getBSSSection () const |
|
MCSection * | getReadOnlySection () const |
|
MCSection * | getLSDASection () const |
|
MCSection * | getCompactUnwindSection () const |
|
MCSection * | getDwarfAbbrevSection () const |
|
MCSection * | getDwarfInfoSection () const |
|
MCSection * | getDwarfInfoSection (uint64_t Hash) const |
|
MCSection * | getDwarfLineSection () const |
|
MCSection * | getDwarfLineStrSection () const |
|
MCSection * | getDwarfFrameSection () const |
|
MCSection * | getDwarfPubNamesSection () const |
|
MCSection * | getDwarfPubTypesSection () const |
|
MCSection * | getDwarfGnuPubNamesSection () const |
|
MCSection * | getDwarfGnuPubTypesSection () const |
|
const MCSection * | getDwarfDebugInlineSection () const |
|
MCSection * | getDwarfStrSection () const |
|
MCSection * | getDwarfLocSection () const |
|
MCSection * | getDwarfARangesSection () const |
|
MCSection * | getDwarfRangesSection () const |
|
MCSection * | getDwarfRnglistsSection () const |
|
MCSection * | getDwarfLoclistsSection () const |
|
MCSection * | getDwarfMacinfoSection () const |
|
MCSection * | getDwarfDebugNamesSection () const |
|
MCSection * | getDwarfAccelNamesSection () const |
|
MCSection * | getDwarfAccelObjCSection () const |
|
MCSection * | getDwarfAccelNamespaceSection () const |
|
MCSection * | getDwarfAccelTypesSection () const |
|
MCSection * | getDwarfInfoDWOSection () const |
|
MCSection * | getDwarfTypesSection (uint64_t Hash) const |
|
MCSection * | getDwarfTypesDWOSection () const |
|
MCSection * | getDwarfAbbrevDWOSection () const |
|
MCSection * | getDwarfStrDWOSection () const |
|
MCSection * | getDwarfLineDWOSection () const |
|
MCSection * | getDwarfLocDWOSection () const |
|
MCSection * | getDwarfStrOffDWOSection () const |
|
MCSection * | getDwarfStrOffSection () const |
|
MCSection * | getDwarfAddrSection () const |
|
MCSection * | getDwarfRnglistsDWOSection () const |
|
MCSection * | getDwarfCUIndexSection () const |
|
MCSection * | getDwarfTUIndexSection () const |
|
MCSection * | getDwarfSwiftASTSection () const |
|
MCSection * | getCOFFDebugSymbolsSection () const |
|
MCSection * | getCOFFDebugTypesSection () const |
|
MCSection * | getCOFFGlobalTypeHashesSection () const |
|
MCSection * | getTLSExtraDataSection () const |
|
const MCSection * | getTLSDataSection () const |
|
MCSection * | getTLSBSSSection () const |
|
MCSection * | getStackMapSection () const |
|
MCSection * | getFaultMapSection () const |
|
MCSection * | getStackSizesSection (const MCSection &TextSec) const |
|
MCSection * | getDataRelROSection () const |
|
const MCSection * | getMergeableConst4Section () const |
|
const MCSection * | getMergeableConst8Section () const |
|
const MCSection * | getMergeableConst16Section () const |
|
const MCSection * | getMergeableConst32Section () const |
|
const MCSection * | getTLSTLVSection () const |
|
const MCSection * | getTLSThreadInitSection () const |
|
const MCSection * | getCStringSection () const |
|
const MCSection * | getUStringSection () const |
|
MCSection * | getTextCoalSection () const |
|
const MCSection * | getConstTextCoalSection () const |
|
const MCSection * | getConstDataSection () const |
|
const MCSection * | getDataCoalSection () const |
|
const MCSection * | getConstDataCoalSection () const |
|
const MCSection * | getDataCommonSection () const |
|
MCSection * | getDataBSSSection () const |
|
const MCSection * | getFourByteConstantSection () const |
|
const MCSection * | getEightByteConstantSection () const |
|
const MCSection * | getSixteenByteConstantSection () const |
|
MCSection * | getLazySymbolPointerSection () const |
|
MCSection * | getNonLazySymbolPointerSection () const |
|
MCSection * | getThreadLocalPointerSection () const |
|
MCSection * | getDrectveSection () const |
|
MCSection * | getPDataSection () const |
|
MCSection * | getXDataSection () const |
|
MCSection * | getSXDataSection () const |
|
MCSection * | getGFIDsSection () const |
|
MCSection * | getEHFrameSection () |
|
Environment | getObjectFileType () const |
|
bool | isPositionIndependent () const |
|
const Triple & | getTargetTriple () const |
|
void | setSDKVersion (const VersionTuple &TheSDKVersion) |
|
const VersionTuple & | getSDKVersion () const |
|
|
enum | Environment { IsMachO,
IsELF,
IsCOFF,
IsWasm
} |
|
static SectionKind | getKindForGlobal (const GlobalObject *GO, const TargetMachine &TM) |
| Classify the specified global variable into a set of target independent categories embodied in SectionKind. More...
|
|
MCSymbolRefExpr::VariantKind | PLTRelativeVariantKind |
|
const TargetMachine * | TM |
|
bool | SupportIndirectSymViaGOTPCRel = false |
|
bool | SupportGOTPCRelWithOffset = true |
|
bool | SupportDebugThreadLocalLocation = true |
|
unsigned | PersonalityEncoding = 0 |
| PersonalityEncoding, LSDAEncoding, TTypeEncoding - Some encoding values for EH. More...
|
|
unsigned | LSDAEncoding = 0 |
|
unsigned | TTypeEncoding = 0 |
|
MCSection * | StaticCtorSection = nullptr |
| This section contains the static constructor pointer list. More...
|
|
MCSection * | StaticDtorSection = nullptr |
| This section contains the static destructor pointer list. More...
|
|
bool | CommDirectiveSupportsAlignment |
| True if .comm supports alignment. More...
|
|
bool | SupportsWeakOmittedEHFrame |
| True if target object file supports a weak_definition of constant 0 for an omitted EH frame. More...
|
|
bool | SupportsCompactUnwindWithoutEHFrame |
| True if the target object file supports emitting a compact unwind section without an associated EH frame section. More...
|
|
bool | OmitDwarfIfHaveCompactUnwind |
| OmitDwarfIfHaveCompactUnwind - True if the target object file supports having some functions with compact unwind and other with dwarf unwind. More...
|
|
unsigned | FDECFIEncoding = 0 |
| FDE CFI encoding. More...
|
|
unsigned | CompactUnwindDwarfEHFrameOnly |
| Compact unwind encoding indicating that we should emit only an EH frame. More...
|
|
MCSection * | TextSection |
| Section directive for standard text. More...
|
|
MCSection * | DataSection |
| Section directive for standard data. More...
|
|
MCSection * | BSSSection |
| Section that is default initialized to zero. More...
|
|
MCSection * | ReadOnlySection |
| Section that is readonly and can contain arbitrary initialized data. More...
|
|
MCSection * | LSDASection |
| If exception handling is supported by the target, this is the section the Language Specific Data Area information is emitted to. More...
|
|
MCSection * | 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. More...
|
|
MCSection * | DwarfAbbrevSection |
|
MCSection * | DwarfInfoSection |
|
MCSection * | DwarfLineSection |
|
MCSection * | DwarfLineStrSection |
|
MCSection * | DwarfFrameSection |
|
MCSection * | DwarfPubTypesSection |
|
const MCSection * | DwarfDebugInlineSection |
|
MCSection * | DwarfStrSection |
|
MCSection * | DwarfLocSection |
|
MCSection * | DwarfARangesSection |
|
MCSection * | DwarfRangesSection |
|
MCSection * | DwarfMacinfoSection |
|
MCSection * | DwarfPubNamesSection |
|
MCSection * | DwarfDebugNamesSection |
| Accelerator table sections. More...
|
|
MCSection * | DwarfAccelNamesSection |
|
MCSection * | DwarfAccelObjCSection |
|
MCSection * | DwarfAccelNamespaceSection |
|
MCSection * | DwarfAccelTypesSection |
|
MCSection * | DwarfInfoDWOSection |
|
MCSection * | DwarfTypesDWOSection |
|
MCSection * | DwarfAbbrevDWOSection |
|
MCSection * | DwarfStrDWOSection |
|
MCSection * | DwarfLineDWOSection |
|
MCSection * | DwarfLocDWOSection |
|
MCSection * | DwarfStrOffDWOSection |
|
MCSection * | DwarfStrOffSection |
| The DWARF v5 string offset and address table sections. More...
|
|
MCSection * | DwarfAddrSection |
|
MCSection * | DwarfRnglistsSection |
| The DWARF v5 range list section. More...
|
|
MCSection * | DwarfLoclistsSection |
| The DWARF v5 locations list section. More...
|
|
MCSection * | DwarfRnglistsDWOSection |
| The DWARF v5 range list section for fission. More...
|
|
MCSection * | DwarfCUIndexSection |
|
MCSection * | DwarfTUIndexSection |
|
MCSection * | DwarfGnuPubNamesSection |
| Section for newer gnu pubnames. More...
|
|
MCSection * | DwarfGnuPubTypesSection |
| Section for newer gnu pubtypes. More...
|
|
MCSection * | DwarfSwiftASTSection |
|
MCSection * | COFFDebugSymbolsSection |
|
MCSection * | COFFDebugTypesSection |
|
MCSection * | COFFGlobalTypeHashesSection |
|
MCSection * | TLSExtraDataSection |
| Extra TLS Variable Data section. More...
|
|
MCSection * | TLSDataSection |
| Section directive for Thread Local data. ELF, MachO, COFF, and Wasm. More...
|
|
MCSection * | TLSBSSSection |
| Section directive for Thread Local uninitialized data. More...
|
|
MCSection * | StackMapSection |
| StackMap section. More...
|
|
MCSection * | FaultMapSection |
| FaultMap section. More...
|
|
MCSection * | EHFrameSection |
| EH frame section. More...
|
|
MCSection * | StackSizesSection |
| Section containing metadata on function stack sizes. More...
|
|
DenseMap< const MCSymbol *, unsigned > | StackSizesUniquing |
|
MCSection * | DataRelROSection |
|
MCSection * | MergeableConst4Section |
|
MCSection * | MergeableConst8Section |
|
MCSection * | MergeableConst16Section |
|
MCSection * | MergeableConst32Section |
|
MCSection * | TLSTLVSection |
| Section for thread local structure information. More...
|
|
const MCSection * | TLSThreadInitSection |
| Section for thread local data initialization functions. More...
|
|
MCSection * | CStringSection |
|
MCSection * | UStringSection |
|
MCSection * | TextCoalSection |
|
MCSection * | ConstTextCoalSection |
|
MCSection * | ConstDataSection |
|
MCSection * | DataCoalSection |
|
MCSection * | ConstDataCoalSection |
|
MCSection * | DataCommonSection |
|
MCSection * | DataBSSSection |
|
MCSection * | FourByteConstantSection |
|
MCSection * | EightByteConstantSection |
|
MCSection * | SixteenByteConstantSection |
|
MCSection * | LazySymbolPointerSection |
|
MCSection * | NonLazySymbolPointerSection |
|
MCSection * | ThreadLocalPointerSection |
|
MCSection * | DrectveSection |
| COFF specific sections. More...
|
|
MCSection * | PDataSection |
|
MCSection * | XDataSection |
|
MCSection * | SXDataSection |
|
MCSection * | GFIDsSection |
|
This implemenatation is used for X86 ELF targets that don't have a further specialization.
Definition at line 42 of file X86TargetObjectFile.h.