|
LLVM 24.0.0git
|
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
Protected Attributes | |
| uint16_t | PLTRelativeSpecifier = 0 |
| Protected Attributes inherited from llvm::TargetLoweringObjectFile | |
| bool | SupportIndirectSymViaGOTPCRel = false |
| bool | SupportGOTPCRelWithOffset = true |
| bool | SupportDebugThreadLocalLocation = true |
| uint32_t | PLTPCRelativeSpecifier = 0 |
| unsigned | PersonalityEncoding = 0 |
| PersonalityEncoding, LSDAEncoding, TTypeEncoding - Some encoding values for EH. | |
| unsigned | LSDAEncoding = 0 |
| unsigned | TTypeEncoding = 0 |
| unsigned | CallSiteEncoding = 0 |
| MCSection * | StaticCtorSection = nullptr |
| This section contains the static constructor pointer list. | |
| MCSection * | StaticDtorSection = nullptr |
| This section contains the static destructor pointer list. | |
| const TargetMachine * | TM = nullptr |
| Protected Attributes inherited from llvm::MCObjectFileInfo | |
| bool | SupportsCompactUnwindWithoutEHFrame = false |
| True if the target object file supports emitting a compact unwind section without an associated EH frame section. | |
| bool | OmitDwarfIfHaveCompactUnwind = false |
| OmitDwarfIfHaveCompactUnwind - True if the target object file supports having some functions with compact unwind and other with dwarf unwind. | |
| unsigned | FDECFIEncoding = 0 |
| FDE CFI encoding. | |
| unsigned | CompactUnwindDwarfEHFrameOnly = 0 |
| Compact unwind encoding indicating that we should emit only an EH frame. | |
| std::optional< sframe::ABI > | SFrameABIArch = {} |
| SFrame ABI architecture byte. | |
| MCSection * | TextSection = nullptr |
| Section directive for standard text. | |
| MCSection * | DataSection = nullptr |
| Section directive for standard data. | |
| MCSection * | BSSSection = nullptr |
| Section that is default initialized to zero. | |
| MCSection * | ReadOnlySection = nullptr |
| Section that is readonly and can contain arbitrary initialized data. | |
| MCSection * | LSDASection = nullptr |
| If exception handling is supported by the target, this is the section the Language Specific Data Area information is emitted to. | |
| MCSection * | CallGraphSection = nullptr |
| Section containing call graph metadata. | |
| MCSection * | CompactUnwindSection = nullptr |
| 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. | |
| MCSection * | ImportCallSection = nullptr |
| If import call optimization is supported by the target, this is the section to emit import call data to. | |
| MCSection * | DwarfAbbrevSection = nullptr |
| MCSection * | DwarfInfoSection = nullptr |
| MCSection * | DwarfLineSection = nullptr |
| MCSection * | DwarfLineStrSection = nullptr |
| MCSection * | DwarfFrameSection = nullptr |
| MCSection * | DwarfPubTypesSection = nullptr |
| const MCSection * | DwarfDebugInlineSection = nullptr |
| MCSection * | DwarfStrSection = nullptr |
| MCSection * | DwarfLocSection = nullptr |
| MCSection * | DwarfARangesSection = nullptr |
| MCSection * | DwarfRangesSection = nullptr |
| MCSection * | DwarfMacinfoSection = nullptr |
| MCSection * | DwarfMacroSection = nullptr |
| MCSection * | DwarfPubNamesSection = nullptr |
| MCSection * | DwarfDebugNamesSection = nullptr |
| Accelerator table sections. | |
| MCSection * | DwarfAccelNamesSection = nullptr |
| MCSection * | DwarfAccelObjCSection = nullptr |
| MCSection * | DwarfAccelNamespaceSection = nullptr |
| MCSection * | DwarfAccelTypesSection = nullptr |
| MCSection * | DwarfInfoDWOSection = nullptr |
| MCSection * | DwarfTypesDWOSection = nullptr |
| MCSection * | DwarfAbbrevDWOSection = nullptr |
| MCSection * | DwarfStrDWOSection = nullptr |
| MCSection * | DwarfLineDWOSection = nullptr |
| MCSection * | DwarfLocDWOSection = nullptr |
| MCSection * | DwarfStrOffDWOSection = nullptr |
| MCSection * | DwarfMacinfoDWOSection = nullptr |
| MCSection * | DwarfMacroDWOSection = nullptr |
| MCSection * | DwarfStrOffSection = nullptr |
| The DWARF v5 string offset and address table sections. | |
| MCSection * | DwarfAddrSection = nullptr |
| MCSection * | DwarfRnglistsSection = nullptr |
| The DWARF v5 range list section. | |
| MCSection * | DwarfLoclistsSection = nullptr |
| The DWARF v5 locations list section. | |
| MCSection * | DwarfRnglistsDWOSection = nullptr |
| The DWARF v5 range and location list sections for fission. | |
| MCSection * | DwarfLoclistsDWOSection = nullptr |
| MCSection * | DwarfCUIndexSection = nullptr |
| MCSection * | DwarfTUIndexSection = nullptr |
| MCSection * | DwarfGnuPubNamesSection = nullptr |
| Section for newer gnu pubnames. | |
| MCSection * | DwarfGnuPubTypesSection = nullptr |
| Section for newer gnu pubtypes. | |
| MCSection * | DwarfSwiftASTSection = nullptr |
| MCSection * | COFFDebugSymbolsSection = nullptr |
| MCSection * | COFFDebugTypesSection = nullptr |
| MCSection * | COFFGlobalTypeHashesSection = nullptr |
| MCSection * | TLSExtraDataSection = nullptr |
| Extra TLS Variable Data section. | |
| MCSection * | TLSDataSection = nullptr |
| Section directive for Thread Local data. ELF, MachO, COFF, and Wasm. | |
| MCSection * | TLSBSSSection = nullptr |
| Section directive for Thread Local uninitialized data. | |
| MCSection * | StackMapSection = nullptr |
| StackMap section. | |
| MCSection * | FaultMapSection = nullptr |
| FaultMap section. | |
| MCSection * | RemarksSection = nullptr |
| Remarks section. | |
| MCSection * | EHFrameSection = nullptr |
| EH frame section. | |
| MCSection * | SFrameSection = nullptr |
| SFrame section. | |
| MCSection * | StackSizesSection = nullptr |
| Section containing metadata on function stack sizes. | |
| MCSection * | PseudoProbeSection = nullptr |
| Section for pseudo probe information used by AutoFDO. | |
| MCSection * | PseudoProbeDescSection = nullptr |
| MCSection * | LLVMStatsSection = nullptr |
| MCSection * | DataRelROSection = nullptr |
| MCSection * | MergeableConst4Section = nullptr |
| MCSection * | MergeableConst8Section = nullptr |
| MCSection * | MergeableConst16Section = nullptr |
| MCSection * | MergeableConst32Section = nullptr |
| MCSection * | TLSTLVSection = nullptr |
| Section for thread local structure information. | |
| const MCSection * | TLSThreadInitSection = nullptr |
| Section for thread local data initialization functions. | |
| MCSection * | CStringSection = nullptr |
| MCSection * | UStringSection = nullptr |
| MCSection * | TextCoalSection = nullptr |
| MCSection * | ConstTextCoalSection = nullptr |
| MCSection * | ConstDataSection = nullptr |
| MCSection * | DataCoalSection = nullptr |
| MCSection * | ConstDataCoalSection = nullptr |
| MCSection * | DataCommonSection = nullptr |
| MCSection * | DataBSSSection = nullptr |
| MCSection * | FourByteConstantSection = nullptr |
| MCSection * | EightByteConstantSection = nullptr |
| MCSection * | SixteenByteConstantSection = nullptr |
| MCSection * | LazySymbolPointerSection = nullptr |
| MCSection * | NonLazySymbolPointerSection = nullptr |
| MCSection * | ThreadLocalPointerSection = nullptr |
| MCSection * | AddrSigSection = nullptr |
| MCSection * | DrectveSection = nullptr |
| COFF specific sections. | |
| MCSection * | PDataSection = nullptr |
| MCSection * | XDataSection = nullptr |
| MCSection * | SXDataSection = nullptr |
| MCSection * | GEHContSection = nullptr |
| MCSection * | GFIDsSection = nullptr |
| MCSection * | GIATsSection = nullptr |
| MCSection * | GLJMPSection = nullptr |
| MCSection * | PPA2ListSection = nullptr |
| MCSection * | ADASection = nullptr |
| MCSection * | IDRLSection = nullptr |
| MCSection * | TOCBaseSection = nullptr |
| MCSection * | ReadOnly8Section = nullptr |
| MCSection * | ReadOnly16Section = nullptr |
| std::array< MCSection *, binaryformat::Swift5ReflectionSectionKind::last > | Swift5ReflectionSections = {} |
Additional Inherited Members | |
| Static Public Member Functions inherited from llvm::TargetLoweringObjectFile | |
| static SectionKind | getKindForGlobal (const GlobalObject *GO, const TargetMachine &TM) |
| Classify the specified global variable into a set of target independent categories embodied in SectionKind. | |
| static StringRef | getCustomSectionName (const GlobalObject *GO, const TargetMachine &TM) |
| Return the section name specified by '#pragma clang section' or the section attribute. | |
Definition at line 34 of file TargetLoweringObjectFileImpl.h.
|
overridedefault |
References C(), DL, emitLinkerDirectives(), emitModuleMetadata(), emitPersonalityValue(), emitPersonalityValueImpl(), F, getCFIPersonalitySymbol(), getExplicitSectionGlobal(), getModuleMetadata(), getSectionForCommandLines(), getSectionForConstant(), getSectionForJumpTable(), getSectionForLSDA(), getSectionForMachineBasicBlock(), getStaticCtorSection(), getStaticDtorSection(), getTTypeGlobalReference(), getUniqueSectionForFunction(), Initialize(), InitializeELF(), LHS, lowerDSOLocalEquivalent(), lowerSymbolDifference(), MBB, RHS, SelectSectionForGlobal(), shouldPutJumpTableInFunctionSection(), and llvm::TargetLoweringObjectFile::TM.
|
overridevirtual |
Process linker options metadata and emit platform-specific bits.
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 380 of file TargetLoweringObjectFileImpl.cpp.
References C(), llvm::cast(), llvm::MCStreamer::emitBytes(), llvm::MCStreamer::emitInt8(), llvm::MCObjectFileInfo::getContext(), llvm::report_fatal_error(), llvm::ELF::SHF_EXCLUDE, llvm::ELF::SHT_LLVM_LINKER_OPTIONS, and llvm::MCStreamer::switchSection().
Referenced by emitModuleMetadata(), and ~TargetLoweringObjectFileELF().
|
overridevirtual |
Emit Obj-C garbage collection and linker options.
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 317 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCStreamer::addBlankLine(), assert(), C(), llvm::cast(), llvm::mdconst::dyn_extract(), llvm::MCStreamer::emitBytes(), llvm::TargetLoweringObjectFile::emitCGProfileMetadata(), llvm::MCStreamer::emitInt32(), llvm::MCStreamer::emitInt8(), llvm::MCStreamer::emitLabel(), emitLinkerDirectives(), llvm::TargetLoweringObjectFile::emitPseudoProbeDescMetadata(), llvm::MCStreamer::emitULEB128IntValue(), llvm::encodeBase64(), llvm::MCObjectFileInfo::getContext(), GetObjCImageInfo(), I, llvm::InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key, llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_MERGE, llvm::ELF::SHF_STRINGS, llvm::ELF::SHT_LLVM_DEPENDENT_LIBRARIES, llvm::ELF::SHT_PROGBITS, llvm::Twine::str(), llvm::MCStreamer::switchSection(), and llvm::Version.
Referenced by ~TargetLoweringObjectFileELF().
|
overridevirtual |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 412 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCConstantExpr::create(), DL, llvm::MCStreamer::emitELFSize(), llvm::MCStreamer::emitLabel(), emitPersonalityValueImpl(), llvm::MCStreamer::emitSymbolAttribute(), llvm::MCStreamer::emitValueToAlignment(), llvm::MCObjectFileInfo::getContext(), llvm::MCContext::getELFNamedSection(), llvm::MCSymbol::getName(), llvm::MCContext::getOrCreateSymbol(), llvm::MCSA_ELF_TypeObject, llvm::MCSA_Hidden, llvm::MCSA_Weak, llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_GROUP, llvm::ELF::SHF_WRITE, llvm::ELF::SHT_PROGBITS, Size, and llvm::MCStreamer::switchSection().
Referenced by ~TargetLoweringObjectFileELF().
|
virtual |
Reimplemented in llvm::AArch64_ELFTargetObjectFile.
Definition at line 435 of file TargetLoweringObjectFileImpl.cpp.
References DL, and llvm::MCStreamer::emitSymbolValue().
Referenced by emitPersonalityValue(), llvm::AArch64_ELFTargetObjectFile::emitPersonalityValueImpl(), and ~TargetLoweringObjectFileELF().
|
overridevirtual |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 400 of file TargetLoweringObjectFileImpl.cpp.
References llvm::dwarf::DW_EH_PE_absptr, llvm::dwarf::DW_EH_PE_indirect, llvm::MCObjectFileInfo::getContext(), llvm::MCContext::getOrCreateSymbol(), llvm::TargetLoweringObjectFile::getPersonalityEncoding(), llvm::report_fatal_error(), and llvm::TargetLoweringObjectFile::TM.
Referenced by ~TargetLoweringObjectFileELF().
|
overridevirtual |
Targets should implement this method to assign a section to globals with an explicit section specfied.
The implementation of this method can assume that GO->hasSection() is true.
Implements llvm::TargetLoweringObjectFile.
Reimplemented in llvm::XCoreTargetObjectFile.
Definition at line 879 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCObjectFileInfo::getContext(), llvm::TargetLoweringObjectFile::getMangler(), selectExplicitSectionGlobal(), and llvm::TargetLoweringObjectFile::TM.
Referenced by llvm::AArch64_ELFTargetObjectFile::getExplicitSectionGlobal(), llvm::AMDGPUTargetObjectFile::getExplicitSectionGlobal(), llvm::ARMElfTargetObjectFile::getExplicitSectionGlobal(), llvm::HexagonTargetObjectFile::getExplicitSectionGlobal(), and ~TargetLoweringObjectFileELF().
|
overridevirtual |
Get the module-level metadata that the platform cares about.
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 309 of file TargetLoweringObjectFileImpl.cpp.
References llvm::collectUsedGlobalVariables(), and llvm::dyn_cast().
Referenced by llvm::RISCVELFTargetObjectFile::getModuleMetadata(), and ~TargetLoweringObjectFileELF().
|
overridevirtual |
If supported, return the section to use for the llvm.commandline metadata.
Otherwise, return nullptr.
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 1245 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCObjectFileInfo::getContext(), llvm::MCContext::getELFSection(), llvm::ELF::SHF_MERGE, llvm::ELF::SHF_STRINGS, and llvm::ELF::SHT_PROGBITS.
Referenced by ~TargetLoweringObjectFileELF().
|
overridevirtual |
Given a constant with the SectionKind, return a section that it should be placed in.
Given a mergeable constant with the specified size and relocation information, return a section that it should be placed in.
Reimplemented from llvm::TargetLoweringObjectFile.
Reimplemented in llvm::XCoreTargetObjectFile.
Definition at line 1044 of file TargetLoweringObjectFileImpl.cpp.
References assert(), C(), llvm::MCObjectFileInfo::DataRelROSection, DL, F, llvm::MCObjectFileInfo::MergeableConst16Section, llvm::MCObjectFileInfo::MergeableConst32Section, llvm::MCObjectFileInfo::MergeableConst4Section, llvm::MCObjectFileInfo::MergeableConst8Section, and llvm::MCObjectFileInfo::ReadOnlySection.
Referenced by llvm::LanaiTargetObjectFile::getSectionForConstant(), llvm::MipsTargetObjectFile::getSectionForConstant(), llvm::RISCVELFTargetObjectFile::getSectionForConstant(), getSectionForConstant(), and ~TargetLoweringObjectFileELF().
|
overridevirtual |
Similar to the function above, but append SectionSuffix to the section name.
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 1062 of file TargetLoweringObjectFileImpl.cpp.
References assert(), C(), DL, llvm::StringRef::empty(), F, llvm::MCObjectFileInfo::getContext(), getSectionForConstant(), llvm::CodeModel::Large, llvm::MCObjectFileInfo::MergeableConst16Section, llvm::MCObjectFileInfo::MergeableConst32Section, llvm::MCObjectFileInfo::MergeableConst4Section, llvm::MCObjectFileInfo::MergeableConst8Section, llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_MERGE, llvm::ELF::SHF_WRITE, llvm::ELF::SHF_X86_64_LARGE, llvm::ELF::SHT_PROGBITS, llvm::TargetLoweringObjectFile::TM, and llvm::Triple::x86_64.
|
overridevirtual |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 979 of file TargetLoweringObjectFileImpl.cpp.
References F, getSectionForJumpTable(), and llvm::TargetLoweringObjectFile::TM.
Referenced by getSectionForJumpTable(), and ~TargetLoweringObjectFileELF().
|
overridevirtual |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 984 of file TargetLoweringObjectFileImpl.cpp.
References C(), F, llvm::MCObjectFileInfo::getContext(), llvm::TargetLoweringObjectFile::getMangler(), llvm::SectionKind::getReadOnly(), llvm::MCObjectFileInfo::ReadOnlySection, selectELFSectionForGlobal(), llvm::ELF::SHF_ALLOC, and llvm::TargetLoweringObjectFile::TM.
|
overridevirtual |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 1000 of file TargetLoweringObjectFileImpl.cpp.
References llvm::Comdat::Any, C(), F, llvm::MCObjectFileInfo::getContext(), getELFComdat(), llvm::MCContext::getELFSection(), llvm::MCSectionELF::getFlags(), llvm::MCObjectFileInfo::LSDASection, llvm::MCSection::NonUniqueID, llvm::ELF::SHF_GROUP, llvm::ELF::SHF_LINK_ORDER, and llvm::TargetLoweringObjectFile::TM.
Referenced by ~TargetLoweringObjectFileELF().
|
overridevirtual |
Returns a unique section for the given machine basic block.
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 1102 of file TargetLoweringObjectFileImpl.cpp.
References assert(), llvm::BBSectionsColdTextPrefix, llvm::MBBSectionID::ColdSectionID, llvm::MBBSectionID::ExceptionSectionID, F, llvm::MCObjectFileInfo::getContext(), llvm::MCContext::getELFSection(), MBB, llvm::MCSection::NonUniqueID, llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_EXECINSTR, llvm::ELF::SHF_GROUP, llvm::ELF::SHT_PROGBITS, llvm::StringRef::starts_with(), and llvm::TargetLoweringObjectFile::TM.
Referenced by ~TargetLoweringObjectFileELF().
|
overridevirtual |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 1191 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCObjectFileInfo::getContext(), and getStaticStructorSection().
Referenced by ~TargetLoweringObjectFileELF().
|
overridevirtual |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 1197 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCObjectFileInfo::getContext(), and getStaticStructorSection().
Referenced by ~TargetLoweringObjectFileELF().
|
overridevirtual |
Return an MCExpr to use for a reference to the specified type info global variable from exception handling information.
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 441 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCSymbolRefExpr::create(), llvm::dwarf::DW_EH_PE_indirect, llvm::MCObjectFileInfo::getContext(), llvm::MachineModuleInfoELF::getGVStubEntry(), llvm::MachineModuleInfo::getObjFileInfo(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info >::getPointer(), llvm::TargetLoweringObjectFile::getSymbolWithGlobalValueBase(), llvm::TargetLoweringObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFile::getTTypeReference(), llvm::GlobalValue::hasLocalLinkage(), and llvm::TargetLoweringObjectFile::TM.
Referenced by llvm::ARMElfTargetObjectFile::getTTypeGlobalReference(), llvm::SparcELFTargetObjectFile::getTTypeGlobalReference(), and ~TargetLoweringObjectFileELF().
|
overridevirtual |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 963 of file TargetLoweringObjectFileImpl.cpp.
References F, llvm::MCObjectFileInfo::getContext(), getELFSectionFlags(), llvm::TargetLoweringObjectFile::getMangler(), llvm::SectionKind::getText(), selectELFSectionForGlobal(), selectExplicitSectionGlobal(), and llvm::TargetLoweringObjectFile::TM.
Referenced by ~TargetLoweringObjectFileELF().
|
overridevirtual |
This method must be called before any actual lowering is done.
Initialize - this method must be called before any actual lowering is done.
This specifies the current context for codegen, and gives the lowering implementations a chance to set up their default sections.
Reimplemented from llvm::TargetLoweringObjectFile.
Reimplemented in llvm::XCoreTargetObjectFile.
Definition at line 121 of file TargetLoweringObjectFileImpl.cpp.
References llvm::Triple::aarch64, llvm::Triple::aarch64_32, llvm::Triple::aarch64_be, llvm::ARM, llvm::Triple::arm, llvm::Triple::armeb, llvm::TargetLoweringObjectFile::CallSiteEncoding, llvm::dwarf::DW_EH_PE_absptr, llvm::dwarf::DW_EH_PE_indirect, llvm::dwarf::DW_EH_PE_pcrel, llvm::dwarf::DW_EH_PE_sdata4, llvm::dwarf::DW_EH_PE_sdata8, llvm::dwarf::DW_EH_PE_udata4, llvm::dwarf::DW_EH_PE_udata8, llvm::Triple::getArch(), llvm::TargetMachine::getCodeModel(), llvm::TargetMachine::getTargetTriple(), llvm::Triple::GNUILP32, llvm::Triple::hexagon, llvm::TargetLoweringObjectFile::Initialize(), InitializeELF(), llvm::Triple::isOSFreeBSD(), llvm::MCObjectFileInfo::isPositionIndependent(), llvm::Triple::lanai, llvm::CodeModel::Large, llvm::MCTargetOptions::LargeEHEncoding, llvm::Triple::loongarch32, llvm::Triple::loongarch64, llvm::TargetLoweringObjectFile::LSDAEncoding, llvm::TargetOptions::MCOptions, llvm::CodeModel::Medium, llvm::Triple::mips, llvm::Triple::mips64, llvm::Triple::mips64el, llvm::Triple::mipsel, llvm::TargetMachine::Options, llvm::TargetLoweringObjectFile::PersonalityEncoding, llvm::Triple::ppc, llvm::Triple::ppc64, llvm::Triple::ppc64le, llvm::Triple::ppcle, llvm::Triple::riscv32, llvm::Triple::riscv32be, llvm::Triple::riscv64, llvm::Triple::riscv64be, llvm::CodeModel::Small, llvm::Triple::sparc, llvm::Triple::sparcel, llvm::Triple::sparcv9, llvm::Triple::systemz, llvm::Triple::thumb, llvm::Triple::thumbeb, llvm::TargetLoweringObjectFile::TTypeEncoding, llvm::TargetOptions::UseInitArray, llvm::Triple::x86, and llvm::Triple::x86_64.
Referenced by llvm::ARMElfTargetObjectFile::Initialize(), llvm::AVRTargetObjectFile::Initialize(), llvm::CSKYELFTargetObjectFile::Initialize(), llvm::HexagonTargetObjectFile::Initialize(), llvm::LanaiTargetObjectFile::Initialize(), llvm::M68kELFTargetObjectFile::Initialize(), llvm::MipsTargetObjectFile::Initialize(), llvm::RISCVELFTargetObjectFile::Initialize(), llvm::SparcELFTargetObjectFile::Initialize(), llvm::XCoreTargetObjectFile::Initialize(), and ~TargetLoweringObjectFileELF().
| void TargetLoweringObjectFileELF::InitializeELF | ( | bool | UseInitArray_ | ) |
Definition at line 1254 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCObjectFileInfo::getContext(), llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_WRITE, llvm::ELF::SHT_FINI_ARRAY, llvm::ELF::SHT_INIT_ARRAY, llvm::ELF::SHT_PROGBITS, llvm::TargetLoweringObjectFile::StaticCtorSection, and llvm::TargetLoweringObjectFile::StaticDtorSection.
Referenced by llvm::ARMElfTargetObjectFile::Initialize(), llvm::M68kELFTargetObjectFile::Initialize(), Initialize(), and ~TargetLoweringObjectFileELF().
|
overridevirtual |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 1232 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCSymbolRefExpr::create(), llvm::MCObjectFileInfo::getContext(), lowerSymbolDifference(), PLTRelativeSpecifier, and llvm::TargetLoweringObjectFile::TM.
Referenced by ~TargetLoweringObjectFileELF().
| const MCExpr * TargetLoweringObjectFileELF::lowerSymbolDifference | ( | const MCSymbol * | LHS, |
| const MCSymbol * | RHS, | ||
| int64_t | Addend, | ||
| std::optional< int64_t > | PCRelativeOffset ) const |
Definition at line 1203 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCConstantExpr::create(), llvm::MCSpecifierExpr::create(), llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::createAdd(), llvm::MCBinaryExpr::createSub(), llvm::MCObjectFileInfo::getContext(), llvm::TargetLoweringObjectFile::PLTPCRelativeSpecifier, and PLTRelativeSpecifier.
Referenced by lowerDSOLocalEquivalent(), and ~TargetLoweringObjectFileELF().
|
overridevirtual |
Implements llvm::TargetLoweringObjectFile.
Reimplemented in llvm::XCoreTargetObjectFile.
Definition at line 944 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCObjectFileInfo::getContext(), getELFSectionFlags(), llvm::TargetLoweringObjectFile::getMangler(), llvm::GlobalObject::hasComdat(), selectELFSectionForGlobal(), llvm::ELF::SHF_MERGE, and llvm::TargetLoweringObjectFile::TM.
Referenced by llvm::AArch64_ELFTargetObjectFile::SelectSectionForGlobal(), llvm::AMDGPUTargetObjectFile::SelectSectionForGlobal(), llvm::ARMElfTargetObjectFile::SelectSectionForGlobal(), llvm::AVRTargetObjectFile::SelectSectionForGlobal(), llvm::HexagonTargetObjectFile::SelectSectionForGlobal(), llvm::LanaiTargetObjectFile::SelectSectionForGlobal(), llvm::MipsTargetObjectFile::SelectSectionForGlobal(), llvm::RISCVELFTargetObjectFile::SelectSectionForGlobal(), and ~TargetLoweringObjectFileELF().
|
overridevirtual |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 1035 of file TargetLoweringObjectFileImpl.cpp.
References F.
Referenced by ~TargetLoweringObjectFileELF().
|
protected |
Definition at line 40 of file TargetLoweringObjectFileImpl.h.
Referenced by llvm::ARMElfTargetObjectFile::ARMElfTargetObjectFile(), lowerDSOLocalEquivalent(), lowerSymbolDifference(), and llvm::X86ELFTargetObjectFile::X86ELFTargetObjectFile().