LLVM API Documentation

Public Member Functions
llvm::TargetLoweringObjectFileELF Class Reference

#include <TargetLoweringObjectFileImpl.h>

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

List of all members.

Public Member Functions

virtual ~TargetLoweringObjectFileELF ()
void emitPersonalityValue (MCStreamer &Streamer, const TargetMachine &TM, const MCSymbol *Sym) const override
const MCSectiongetSectionForConstant (SectionKind Kind) const override
const MCSectiongetExplicitSectionGlobal (const GlobalValue *GV, SectionKind Kind, Mangler &Mang, const TargetMachine &TM) const override
const MCSectionSelectSectionForGlobal (const GlobalValue *GV, SectionKind Kind, Mangler &Mang, const TargetMachine &TM) const override
const MCExprgetTTypeGlobalReference (const GlobalValue *GV, unsigned Encoding, Mangler &Mang, const TargetMachine &TM, MachineModuleInfo *MMI, MCStreamer &Streamer) const override
MCSymbolgetCFIPersonalitySymbol (const GlobalValue *GV, Mangler &Mang, const TargetMachine &TM, MachineModuleInfo *MMI) const override
void InitializeELF (bool UseInitArray_)
const MCSectiongetStaticCtorSection (unsigned Priority, const MCSymbol *KeySym) const override
const MCSectiongetStaticDtorSection (unsigned Priority, const MCSymbol *KeySym) const override

Detailed Description

Definition at line 35 of file TargetLoweringObjectFileImpl.h.


Constructor & Destructor Documentation

Definition at line 39 of file TargetLoweringObjectFileImpl.h.


Member Function Documentation

void TargetLoweringObjectFileELF::emitPersonalityValue ( MCStreamer Streamer,
const TargetMachine TM,
const MCSymbol Sym 
) 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 207 of file TargetLoweringObjectFileImpl.cpp.

References llvm::CallingConv::C, getELFComdat(), getELFKindForNamedSection(), getELFSectionFlags(), getELFSectionType(), llvm::GlobalValue::getSection(), and llvm::ELF::SHF_GROUP.

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 342 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]
const MCSection * TargetLoweringObjectFileELF::getStaticDtorSection ( unsigned  Priority,
const MCSymbol KeySym 
) const [override, virtual]
const MCExpr * TargetLoweringObjectFileELF::getTTypeGlobalReference ( const GlobalValue GV,
unsigned  Encoding,
Mangler Mang,
const TargetMachine TM,
MachineModuleInfo MMI,
MCStreamer Streamer 
) const [override, virtual]

Reimplemented from llvm::TargetLoweringObjectFile.

Reimplemented in llvm::HexagonTargetObjectFile, llvm::XCoreTargetObjectFile, and llvm::MipsTargetObjectFile.

Definition at line 246 of file TargetLoweringObjectFileImpl.cpp.

References Align(), llvm::CallingConv::C, llvm::TargetMachine::getDataLayout(), llvm::TargetMachine::getDataSections(), getELFComdat(), getELFSectionFlags(), getELFSectionType(), llvm::TargetMachine::getFunctionSections(), llvm::TargetMachine::getNameWithPrefix(), llvm::DataLayout::getPreferredAlignment(), getSectionPrefixForGlobal(), 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(), 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().


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