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 ()
virtual void emitModuleFlags (MCStreamer &Streamer, ArrayRef< Module::ModuleFlagEntry > ModuleFlags, Mangler *Mang, const TargetMachine &TM) const
 emitModuleFlags - Perform code emission for module flags.
virtual const MCSectionSelectSectionForGlobal (const GlobalValue *GV, SectionKind Kind, Mangler *Mang, const TargetMachine &TM) const
virtual const MCSectiongetExplicitSectionGlobal (const GlobalValue *GV, SectionKind Kind, Mangler *Mang, const TargetMachine &TM) const
virtual const MCSectiongetSectionForConstant (SectionKind Kind) const
virtual bool shouldEmitUsedDirectiveFor (const GlobalValue *GV, Mangler *) const
virtual const MCExprgetTTypeGlobalReference (const GlobalValue *GV, Mangler *Mang, MachineModuleInfo *MMI, unsigned Encoding, MCStreamer &Streamer) const
virtual MCSymbolgetCFIPersonalitySymbol (const GlobalValue *GV, Mangler *Mang, MachineModuleInfo *MMI) const

Detailed Description

Definition at line 79 of file TargetLoweringObjectFileImpl.h.


Constructor & Destructor Documentation

virtual llvm::TargetLoweringObjectFileMachO::~TargetLoweringObjectFileMachO ( ) [inline, virtual]

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 [virtual]
MCSymbol * TargetLoweringObjectFileMachO::getCFIPersonalitySymbol ( const GlobalValue GV,
Mangler Mang,
MachineModuleInfo MMI 
) const [virtual]
const MCSection * TargetLoweringObjectFileMachO::getExplicitSectionGlobal ( const GlobalValue GV,
SectionKind  Kind,
Mangler Mang,
const TargetMachine TM 
) const [virtual]

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

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

const MCSection * TargetLoweringObjectFileMachO::getSectionForConstant ( SectionKind  Kind) const [virtual]

getSectionForConstant - 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 587 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,
Mangler Mang,
MachineModuleInfo MMI,
unsigned  Encoding,
MCStreamer Streamer 
) const [virtual]
const MCSection * TargetLoweringObjectFileMachO::SelectSectionForGlobal ( const GlobalValue GV,
SectionKind  Kind,
Mangler Mang,
const TargetMachine TM 
) const [virtual]
bool TargetLoweringObjectFileMachO::shouldEmitUsedDirectiveFor ( const GlobalValue GV,
Mangler Mang 
) const [virtual]

shouldEmitUsedDirectiveFor - This hook allows targets to selectively decide not to emit the UsedDirective for some symbols in llvm.used. FIXME: REMOVE this (rdar://7071300)

shouldEmitUsedDirectiveFor - This hook allows targets to selectively decide not to emit the UsedDirective for some symbols in llvm.used.

On Darwin, internally linked data beginning with "L" or "l" does not have the directive emitted (this occurs in ObjC metadata).

Reimplemented from llvm::TargetLoweringObjectFile.

Definition at line 606 of file TargetLoweringObjectFileImpl.cpp.

References llvm::MCSymbol::getName(), llvm::Mangler::getSymbol(), and llvm::GlobalValue::hasLocalLinkage().


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