LLVM API Documentation

Public Member Functions
llvm::TargetLoweringObjectFileMachO Class Reference

#include <TargetLoweringObjectFileImpl.h>

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

List of all members.

Public Member Functions

virtual ~TargetLoweringObjectFileMachO ()
StringRef getDepLibFromLinkerOpt (StringRef LinkerOption) const override
void emitModuleFlags (MCStreamer &Streamer, ArrayRef< Module::ModuleFlagEntry > ModuleFlags, Mangler &Mang, const TargetMachine &TM) const override
 Emit the module flags that specify the garbage collection information.
bool isSectionAtomizableBySymbols (const MCSection &Section) const override
 True if the section is atomized using the symbols in it. This is false if the section is not atomized at all (most ELF sections) or if it is atomized based on its contents (MachO' __TEXT,__cstring for example).
const MCSectionSelectSectionForGlobal (const GlobalValue *GV, SectionKind Kind, Mangler &Mang, const TargetMachine &TM) const override
const MCSectiongetExplicitSectionGlobal (const GlobalValue *GV, SectionKind Kind, Mangler &Mang, const TargetMachine &TM) const override
const MCSectiongetSectionForConstant (SectionKind Kind, const Constant *C) const override
const MCExprgetTTypeGlobalReference (const GlobalValue *GV, unsigned Encoding, Mangler &Mang, const TargetMachine &TM, MachineModuleInfo *MMI, MCStreamer &Streamer) const override
 The mach-o version of this method defaults to returning a stub reference.
MCSymbolgetCFIPersonalitySymbol (const GlobalValue *GV, Mangler &Mang, const TargetMachine &TM, MachineModuleInfo *MMI) const override

Detailed Description

Definition at line 79 of file TargetLoweringObjectFileImpl.h.


Constructor & Destructor Documentation

Definition at line 81 of file TargetLoweringObjectFileImpl.h.


Member Function Documentation

void TargetLoweringObjectFileMachO::emitModuleFlags ( MCStreamer Streamer,
ArrayRef< Module::ModuleFlagEntry ModuleFlags,
Mangler Mang,
const TargetMachine TM 
) const [override, virtual]
StringRef TargetLoweringObjectFileMachO::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.

getDepLibFromLinkerOpt - 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 441 of file TargetLoweringObjectFileImpl.cpp.

References llvm::StringRef::startswith(), llvm::LibFunc::strlen, and llvm::StringRef::substr().

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 533 of file TargetLoweringObjectFileImpl.cpp.

References checkMachOComdat(), llvm::Value::getName(), llvm::GlobalValue::getSection(), llvm::MCSectionMachO::getStubSize(), llvm::MCSectionMachO::getTypeAndAttributes(), llvm::MCSectionMachO::ParseSectionSpecifier(), llvm::report_fatal_error(), and llvm::ARMBuildAttrs::Section.

Given a constant with the SectionKind, return a section that it should be placed in.

getSectionForConstant - Given a mergable constant with the specified size and relocation information, return a section that it should be placed in.

Reimplemented from llvm::TargetLoweringObjectFile.

Definition at line 680 of file TargetLoweringObjectFileImpl.cpp.

References llvm::SectionKind::isDataRel(), llvm::SectionKind::isMergeableConst16(), llvm::SectionKind::isMergeableConst4(), llvm::SectionKind::isMergeableConst8(), and llvm::SectionKind::isReadOnlyWithRel().

const MCExpr * TargetLoweringObjectFileMachO::getTTypeGlobalReference ( const GlobalValue GV,
unsigned  Encoding,
Mangler Mang,
const TargetMachine TM,
MachineModuleInfo MMI,
MCStreamer Streamer 
) const [override, virtual]

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