LLVM API Documentation
#include <TargetLoweringObjectFileImpl.h>
Definition at line 35 of file TargetLoweringObjectFileImpl.h.
virtual llvm::TargetLoweringObjectFileELF::~TargetLoweringObjectFileELF | ( | ) | [inline, virtual] |
Definition at line 39 of file TargetLoweringObjectFileImpl.h.
void TargetLoweringObjectFileELF::emitPersonalityValue | ( | MCStreamer & | Streamer, |
const TargetMachine & | TM, | ||
const MCSymbol * | Sym | ||
) | const [override, virtual] |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 60 of file TargetLoweringObjectFileImpl.cpp.
References llvm::StringRef::begin(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::MCConstantExpr::Create(), llvm::MCStreamer::EmitELFSize(), llvm::MCStreamer::EmitLabel(), llvm::MCStreamer::EmitSymbolAttribute(), llvm::MCStreamer::EmitSymbolValue(), llvm::MCStreamer::EmitValueToAlignment(), llvm::StringRef::end(), llvm::TargetSubtargetInfo::getDataLayout(), llvm::SectionKind::getDataRel(), llvm::MCSymbol::getName(), llvm::DataLayout::getPointerABIAlignment(), llvm::DataLayout::getPointerSize(), llvm::TargetMachine::getSubtargetImpl(), llvm::SmallVectorImpl< T >::insert(), llvm::MCSA_ELF_TypeObject, llvm::MCSA_Hidden, llvm::MCSA_Weak, llvm::cl::Prefix, llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_GROUP, llvm::ELF::SHF_WRITE, llvm::ELF::SHT_PROGBITS, and llvm::MCStreamer::SwitchSection().
MCSymbol * TargetLoweringObjectFileELF::getCFIPersonalitySymbol | ( | const GlobalValue * | GV, |
Mangler & | Mang, | ||
const TargetMachine & | TM, | ||
MachineModuleInfo * | MMI | ||
) | const [override, virtual] |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 48 of file TargetLoweringObjectFileImpl.cpp.
References llvm::dwarf::DW_EH_PE_absptr, llvm::dwarf::DW_EH_PE_indirect, llvm::MCSymbol::getName(), llvm::TargetMachine::getSymbol(), and llvm::report_fatal_error().
const MCSection * TargetLoweringObjectFileELF::getExplicitSectionGlobal | ( | const GlobalValue * | GV, |
SectionKind | Kind, | ||
Mangler & | Mang, | ||
const TargetMachine & | TM | ||
) | const [override, virtual] |
Targets should implement this method to assign a section to globals with an explicit section specfied. The implementation of this method can assume that GV->hasSection() is true.
Implements llvm::TargetLoweringObjectFile.
Reimplemented in llvm::XCoreTargetObjectFile.
Definition at line 209 of file TargetLoweringObjectFileImpl.cpp.
References llvm::CallingConv::C, getELFComdat(), getELFKindForNamedSection(), getELFSectionFlags(), getELFSectionType(), llvm::GlobalValue::getSection(), and llvm::ELF::SHF_GROUP.
const MCSection * TargetLoweringObjectFileELF::getSectionForConstant | ( | SectionKind | Kind, |
const Constant * | C | ||
) | const [override, virtual] |
Given a constant with the SectionKind, return a section that it should be placed in.
getSectionForConstant - 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 345 of file TargetLoweringObjectFileImpl.cpp.
References llvm::SectionKind::isMergeableConst16(), llvm::SectionKind::isMergeableConst4(), llvm::SectionKind::isMergeableConst8(), llvm::SectionKind::isReadOnly(), llvm::SectionKind::isReadOnlyWithRel(), and llvm::SectionKind::isReadOnlyWithRelLocal().
const MCSection * TargetLoweringObjectFileELF::getStaticCtorSection | ( | unsigned | Priority, |
const MCSymbol * | KeySym | ||
) | const [override, virtual] |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 404 of file TargetLoweringObjectFileImpl.cpp.
References getStaticStructorSection().
const MCSection * TargetLoweringObjectFileELF::getStaticDtorSection | ( | unsigned | Priority, |
const MCSymbol * | KeySym | ||
) | const [override, virtual] |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 410 of file TargetLoweringObjectFileImpl.cpp.
References getStaticStructorSection().
const MCExpr * TargetLoweringObjectFileELF::getTTypeGlobalReference | ( | const GlobalValue * | GV, |
unsigned | Encoding, | ||
Mangler & | Mang, | ||
const TargetMachine & | TM, | ||
MachineModuleInfo * | MMI, | ||
MCStreamer & | Streamer | ||
) | const [override, virtual] |
Return an MCExpr to use for a reference to the specified type info global variable from exception handling information.
Reimplemented from llvm::TargetLoweringObjectFile.
Reimplemented in llvm::ARMElfTargetObjectFile, and llvm::SparcELFTargetObjectFile.
Definition at line 88 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCSymbolRefExpr::Create(), llvm::dwarf::DW_EH_PE_indirect, llvm::MachineModuleInfoELF::getGVStubEntry(), llvm::MachineModuleInfo::getObjFileInfo(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getPointer(), llvm::TargetMachine::getSymbol(), llvm::TargetLoweringObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFile::getTTypeReference(), and llvm::GlobalValue::hasLocalLinkage().
Referenced by llvm::ARMElfTargetObjectFile::getTTypeGlobalReference().
void TargetLoweringObjectFileELF::InitializeELF | ( | bool | UseInitArray_ | ) |
Definition at line 417 of file TargetLoweringObjectFileImpl.cpp.
References llvm::SectionKind::getDataRel(), llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_WRITE, llvm::ELF::SHT_FINI_ARRAY, and llvm::ELF::SHT_INIT_ARRAY.
Referenced by llvm::MipsTargetObjectFile::Initialize().
const MCSection * TargetLoweringObjectFileELF::SelectSectionForGlobal | ( | const GlobalValue * | GV, |
SectionKind | Kind, | ||
Mangler & | Mang, | ||
const TargetMachine & | TM | ||
) | const [override, virtual] |
Reimplemented from llvm::TargetLoweringObjectFile.
Reimplemented in llvm::HexagonTargetObjectFile, llvm::XCoreTargetObjectFile, and llvm::MipsTargetObjectFile.
Definition at line 248 of file TargetLoweringObjectFileImpl.cpp.
References Align(), llvm::CallingConv::C, llvm::TargetSubtargetInfo::getDataLayout(), llvm::TargetMachine::getDataSections(), getELFComdat(), getELFSectionFlags(), getELFSectionType(), llvm::TargetMachine::getFunctionSections(), llvm::TargetMachine::getNameWithPrefix(), llvm::DataLayout::getPreferredAlignment(), getSectionPrefixForGlobal(), llvm::TargetMachine::getSubtargetImpl(), llvm::GlobalValue::hasComdat(), llvm::SectionKind::isBSS(), llvm::SectionKind::isCommon(), llvm::SectionKind::isDataNoRel(), llvm::SectionKind::isDataRel(), llvm::SectionKind::isDataRelLocal(), llvm::SectionKind::isMergeable1ByteCString(), llvm::SectionKind::isMergeable2ByteCString(), llvm::SectionKind::isMergeable4ByteCString(), llvm::SectionKind::isMergeableConst(), llvm::SectionKind::isMergeableConst16(), llvm::SectionKind::isMergeableConst4(), llvm::SectionKind::isMergeableConst8(), llvm::SectionKind::isReadOnly(), llvm::SectionKind::isReadOnlyWithRel(), llvm::SectionKind::isReadOnlyWithRelLocal(), llvm::SectionKind::isText(), llvm::SectionKind::isThreadBSS(), llvm::SectionKind::isThreadData(), llvm::GlobalValue::isWeakForLinker(), Name, llvm::cl::Prefix, llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_GROUP, llvm::ELF::SHF_MERGE, llvm::ELF::SHF_STRINGS, llvm::ELF::SHT_PROGBITS, llvm::StringRef::size(), llvm::SmallString< InternalLen >::str(), llvm::SmallString< InternalLen >::substr(), and llvm::utostr().