LLVM API Documentation

Public Member Functions
llvm::HexagonTargetObjectFile Class Reference

#include <HexagonTargetObjectFile.h>

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

List of all members.

Public Member Functions

void Initialize (MCContext &Ctx, const TargetMachine &TM) override
bool IsGlobalInSmallSection (const GlobalValue *GV, const TargetMachine &TM, SectionKind Kind) const
bool IsGlobalInSmallSection (const GlobalValue *GV, const TargetMachine &TM) const
bool IsSmallDataEnabled () const
const MCSectionSelectSectionForGlobal (const GlobalValue *GV, SectionKind Kind, Mangler &Mang, const TargetMachine &TM) const override

Detailed Description

Definition at line 18 of file HexagonTargetObjectFile.h.


Member Function Documentation

void HexagonTargetObjectFile::Initialize ( MCContext ctx,
const TargetMachine TM 
) [override, virtual]

This method must be called before any actual lowering is done. This specifies the current context for codegen, and gives the lowering implementations a chance to set up their default sections.

Initialize - this method must be called before any actual lowering is done. This specifies the current context for codegen, and gives the lowering implementations a chance to set up their default sections.

Reimplemented from llvm::TargetLoweringObjectFile.

Definition at line 31 of file HexagonTargetObjectFile.cpp.

References llvm::SectionKind::getBSS(), llvm::TargetLoweringObjectFile::getContext(), llvm::SectionKind::getDataRel(), llvm::MCContext::getELFSection(), llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_WRITE, llvm::ELF::SHT_NOBITS, and llvm::ELF::SHT_PROGBITS.

IsGlobalInSmallSection - Return true if this global address should be placed into small data/bss section.

IsGlobalInSmallSection - Return true if this global value should be placed into small data/bss section.

Definition at line 73 of file HexagonTargetObjectFile.cpp.

References llvm::dyn_cast(), llvm::TargetSubtargetInfo::getDataLayout(), llvm::SequentialType::getElementType(), llvm::TargetMachine::getSubtargetImpl(), llvm::GlobalValue::getType(), llvm::DataLayout::getTypeAllocSize(), llvm::SectionKind::isBSS(), llvm::SectionKind::isCommon(), llvm::SectionKind::isDataNoRel(), and IsInSmallSection().

Referenced by IsGlobalInSmallSection(), llvm::HexagonTargetLowering::LowerGLOBALADDRESS(), and SelectSectionForGlobal().

IsGlobalInSmallSection - Return true if this global value should be placed into small data/bss section.

Definition at line 57 of file HexagonTargetObjectFile.cpp.

References llvm::TargetLoweringObjectFile::getKindForGlobal(), llvm::GlobalValue::hasAvailableExternallyLinkage(), llvm::GlobalValue::isDeclaration(), and IsGlobalInSmallSection().

Definition at line 51 of file HexagonTargetObjectFile.cpp.

References SmallDataThreshold.

const MCSection * HexagonTargetObjectFile::SelectSectionForGlobal ( const GlobalValue GV,
SectionKind  Kind,
Mangler Mang,
const TargetMachine TM 
) const [override, virtual]

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