LLVM API Documentation
#include <TargetLoweringObjectFileImpl.h>
Public Member Functions | |
virtual | ~TargetLoweringObjectFileCOFF () |
const MCSection * | getExplicitSectionGlobal (const GlobalValue *GV, SectionKind Kind, Mangler &Mang, const TargetMachine &TM) const override |
const MCSection * | SelectSectionForGlobal (const GlobalValue *GV, SectionKind Kind, Mangler &Mang, const TargetMachine &TM) const override |
StringRef | getDepLibFromLinkerOpt (StringRef LinkerOption) const override |
void | emitModuleFlags (MCStreamer &Streamer, ArrayRef< Module::ModuleFlagEntry > ModuleFlags, Mangler &Mang, const TargetMachine &TM) const override |
const MCSection * | getStaticCtorSection (unsigned Priority, const MCSymbol *KeySym) const override |
const MCSection * | getStaticDtorSection (unsigned Priority, const MCSymbol *KeySym) const override |
Definition at line 122 of file TargetLoweringObjectFileImpl.h.
virtual llvm::TargetLoweringObjectFileCOFF::~TargetLoweringObjectFileCOFF | ( | ) | [inline, virtual] |
Definition at line 124 of file TargetLoweringObjectFileImpl.h.
void TargetLoweringObjectFileCOFF::emitModuleFlags | ( | MCStreamer & | Streamer, |
ArrayRef< Module::ModuleFlagEntry > | ModuleFlags, | ||
Mangler & | Mang, | ||
const TargetMachine & | TM | ||
) | const [override, virtual] |
Emit Obj-C garbage collection and linker options. Only linker option emission is implemented for COFF.
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 939 of file TargetLoweringObjectFileImpl.cpp.
References llvm::ArrayRef< T >::begin(), llvm::MCStreamer::EmitBytes(), llvm::ArrayRef< T >::end(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::MDString::getString(), llvm::Module::ModuleFlagEntry::Key, llvm::StringRef::npos, llvm::MCStreamer::SwitchSection(), and llvm::Module::ModuleFlagEntry::Val.
StringRef TargetLoweringObjectFileCOFF::getDepLibFromLinkerOpt | ( | StringRef | LinkerOption | ) | const [override, virtual] |
Extract the dependent library name from a linker option string. Returns StringRef() if the option does not specify a library.
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 931 of file TargetLoweringObjectFileImpl.cpp.
References llvm::StringRef::startswith(), llvm::LibFunc::strlen, and llvm::StringRef::substr().
const MCSection * TargetLoweringObjectFileCOFF::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.
Definition at line 831 of file TargetLoweringObjectFileImpl.cpp.
References Characteristics, getCOFFSectionFlags(), getComdatGVForCOFF(), llvm::MCSymbol::getName(), llvm::GlobalValue::getSection(), getSelectionForCOFF(), llvm::TargetMachine::getSymbol(), llvm::GlobalValue::hasComdat(), llvm::GlobalValue::hasPrivateLinkage(), llvm::COFF::IMAGE_COMDAT_SELECT_ASSOCIATIVE, llvm::COFF::IMAGE_SCN_LNK_COMDAT, llvm::SectionKind::isCommon(), llvm::GlobalValue::isWeakForLinker(), and Name.
const MCSection * TargetLoweringObjectFileCOFF::getStaticCtorSection | ( | unsigned | Priority, |
const MCSymbol * | KeySym | ||
) | const [override, virtual] |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 985 of file TargetLoweringObjectFileImpl.cpp.
const MCSection * TargetLoweringObjectFileCOFF::getStaticDtorSection | ( | unsigned | Priority, |
const MCSymbol * | KeySym | ||
) | const [override, virtual] |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 991 of file TargetLoweringObjectFileImpl.cpp.
const MCSection * TargetLoweringObjectFileCOFF::SelectSectionForGlobal | ( | const GlobalValue * | GV, |
SectionKind | Kind, | ||
Mangler & | Mang, | ||
const TargetMachine & | TM | ||
) | const [override, virtual] |
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 875 of file TargetLoweringObjectFileImpl.cpp.
References Characteristics, getCOFFSectionFlags(), getCOFFSectionNameForUniqueGlobal(), getComdatGVForCOFF(), llvm::TargetMachine::getDataSections(), llvm::TargetMachine::getFunctionSections(), llvm::MCSymbol::getName(), getSelectionForCOFF(), llvm::TargetMachine::getSymbol(), llvm::GlobalValue::hasComdat(), llvm::GlobalValue::hasPrivateLinkage(), llvm::COFF::IMAGE_COMDAT_SELECT_NODUPLICATES, llvm::COFF::IMAGE_SCN_LNK_COMDAT, llvm::SectionKind::isBSS(), llvm::SectionKind::isCommon(), llvm::SectionKind::isReadOnly(), llvm::SectionKind::isText(), llvm::SectionKind::isThreadLocal(), llvm::GlobalValue::isWeakForLinker(), and Name.