LLVM API Documentation
#include <MipsTargetObjectFile.h>
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 |
const MCSection * | SelectSectionForGlobal (const GlobalValue *GV, SectionKind Kind, Mangler &Mang, const TargetMachine &TM) const override |
Definition at line 17 of file MipsTargetObjectFile.h.
void MipsTargetObjectFile::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 27 of file MipsTargetObjectFile.cpp.
References llvm::SectionKind::getBSS(), llvm::TargetLoweringObjectFile::getContext(), llvm::SectionKind::getDataRel(), llvm::MCContext::getELFSection(), llvm::TargetLoweringObjectFileELF::InitializeELF(), llvm::TargetMachine::Options, llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_WRITE, llvm::ELF::SHT_NOBITS, llvm::ELF::SHT_PROGBITS, and llvm::TargetOptions::UseInitArray.
bool MipsTargetObjectFile::IsGlobalInSmallSection | ( | const GlobalValue * | GV, |
const TargetMachine & | TM, | ||
SectionKind | Kind | ||
) | const |
IsGlobalInSmallSection - Return true if this global address should be placed into small data/bss section.
Definition at line 60 of file MipsTargetObjectFile.cpp.
References llvm::dyn_cast(), llvm::TargetSubtargetInfo::getDataLayout(), llvm::SequentialType::getElementType(), llvm::TargetMachine::getSubtarget(), llvm::TargetMachine::getSubtargetImpl(), llvm::GlobalValue::getType(), llvm::DataLayout::getTypeAllocSize(), llvm::SectionKind::isBSS(), llvm::SectionKind::isDataRel(), IsInSmallSection(), llvm::SectionKind::isMergeable1ByteCString(), and llvm::MipsSubtarget::useSmallSection().
Referenced by IsGlobalInSmallSection(), and SelectSectionForGlobal().
bool MipsTargetObjectFile::IsGlobalInSmallSection | ( | const GlobalValue * | GV, |
const TargetMachine & | TM | ||
) | const |
Definition at line 49 of file MipsTargetObjectFile.cpp.
References llvm::TargetLoweringObjectFile::getKindForGlobal(), llvm::GlobalValue::hasAvailableExternallyLinkage(), llvm::GlobalValue::isDeclaration(), and IsGlobalInSmallSection().
const MCSection * MipsTargetObjectFile::SelectSectionForGlobal | ( | const GlobalValue * | GV, |
SectionKind | Kind, | ||
Mangler & | Mang, | ||
const TargetMachine & | TM | ||
) | const [override, virtual] |
Reimplemented from llvm::TargetLoweringObjectFileELF.
Definition at line 91 of file MipsTargetObjectFile.cpp.
References llvm::SectionKind::isBSS(), llvm::SectionKind::isDataNoRel(), and IsGlobalInSmallSection().