LLVM API Documentation
#include <DarwinTargetAsmInfo.h>
Public Member Functions | |
| DarwinTargetAsmInfo (const TargetMachine &TM) | |
| virtual const Section * | SelectSectionForGlobal (const GlobalValue *GV) const |
| virtual std::string | UniqueSectionForGlobal (const GlobalValue *GV, SectionKind::Kind kind) const |
| virtual bool | emitUsedDirectiveFor (const GlobalValue *GV, Mangler *Mang) const |
| const Section * | MergeableConstSection (const GlobalVariable *GV) const |
| const Section * | MergeableConstSection (const Type *Ty) const |
| const Section * | MergeableStringSection (const GlobalVariable *GV) const |
| const Section * | SelectSectionForMachineConst (const Type *Ty) const |
Public Attributes | |
| const Section * | TextCoalSection |
| const Section * | ConstTextCoalSection |
| const Section * | ConstDataCoalSection |
| const Section * | ConstDataSection |
| const Section * | DataCoalSection |
| const Section * | FourByteConstantSection |
| const Section * | EightByteConstantSection |
| const Section * | SixteenByteConstantSection |
Definition at line 26 of file DarwinTargetAsmInfo.h.
| DarwinTargetAsmInfo::DarwinTargetAsmInfo | ( | const TargetMachine & | TM | ) | [explicit] |
Definition at line 27 of file DarwinTargetAsmInfo.cpp.
References llvm::SectionFlags::Code, ConstDataCoalSection, ConstDataSection, ConstTextCoalSection, llvm::TargetAsmInfo::CStringSection_, DataCoalSection, EightByteConstantSection, FourByteConstantSection, llvm::TargetAsmInfo::getNamedSection(), llvm::TargetAsmInfo::getUnnamedSection(), llvm::SectionFlags::Mergeable, llvm::SectionFlags::None, llvm::TargetAsmInfo::ReadOnlySection, SixteenByteConstantSection, llvm::SectionFlags::Strings, TextCoalSection, and llvm::SectionFlags::Writeable.
| const Section * DarwinTargetAsmInfo::SelectSectionForGlobal | ( | const GlobalValue * | GV | ) | const [virtual] |
Reimplemented from llvm::TargetAsmInfo.
Definition at line 76 of file DarwinTargetAsmInfo.cpp.
References llvm::SectionKind::BSS, ConstDataCoalSection, ConstDataSection, ConstTextCoalSection, llvm::SectionKind::Data, DataCoalSection, llvm::TargetAsmInfo::DataSection, llvm::TargetAsmInfo::getReadOnlySection(), llvm::TargetMachine::getRelocationModel(), Kind, llvm::GlobalValue::mayBeOverridden(), MergeableConstSection(), MergeableStringSection(), llvm::SectionKind::ROData, llvm::SectionKind::RODataMergeConst, llvm::SectionKind::RODataMergeStr, llvm::TargetAsmInfo::SectionKindForGlobal(), llvm::Reloc::Static, llvm::SectionKind::Text, TextCoalSection, llvm::TargetAsmInfo::TextSection, llvm::SectionKind::ThreadBSS, llvm::SectionKind::ThreadData, and llvm::TargetAsmInfo::TM.
| std::string DarwinTargetAsmInfo::UniqueSectionForGlobal | ( | const GlobalValue * | GV, | |
| SectionKind::Kind | kind | |||
| ) | const [virtual] |
| bool DarwinTargetAsmInfo::emitUsedDirectiveFor | ( | const GlobalValue * | GV, | |
| Mangler * | Mang | |||
| ) | const [virtual] |
emitUsedDirectiveFor - On Darwin, internally linked data beginning with the PrivateGlobalPrefix or the LessPrivateGlobalPrefix does not have the directive emitted (this occurs in ObjC metadata).
Reimplemented from llvm::TargetAsmInfo.
Definition at line 60 of file DarwinTargetAsmInfo.cpp.
References llvm::TargetAsmInfo::getLessPrivateGlobalPrefix(), llvm::TargetAsmInfo::getPrivateGlobalPrefix(), llvm::Mangler::getValueName(), and llvm::GlobalValue::hasLocalLinkage().
| const Section * DarwinTargetAsmInfo::MergeableConstSection | ( | const GlobalVariable * | GV | ) | const |
Definition at line 131 of file DarwinTargetAsmInfo.cpp.
References llvm::CallingConv::C, llvm::GlobalVariable::getInitializer(), and llvm::Value::getType().
Referenced by SelectSectionForGlobal(), and SelectSectionForMachineConst().
Definition at line 138 of file DarwinTargetAsmInfo.cpp.
References EightByteConstantSection, FourByteConstantSection, llvm::TargetAsmInfo::getReadOnlySection(), llvm::TargetMachine::getTargetData(), llvm::TargetData::getTypePaddedSize(), SixteenByteConstantSection, TD, and llvm::TargetAsmInfo::TM.
| const Section * DarwinTargetAsmInfo::MergeableStringSection | ( | const GlobalVariable * | GV | ) | const |
Definition at line 115 of file DarwinTargetAsmInfo.cpp.
References Align, llvm::CallingConv::C, llvm::TargetAsmInfo::getCStringSection_(), llvm::TargetData::getPreferredAlignment(), llvm::TargetAsmInfo::getReadOnlySection(), llvm::TargetMachine::getTargetData(), llvm::Value::getType(), llvm::TargetData::getTypePaddedSize(), TD, llvm::TargetAsmInfo::TM, and Ty.
Referenced by SelectSectionForGlobal().
| const Section * DarwinTargetAsmInfo::SelectSectionForMachineConst | ( | const Type * | Ty | ) | const [virtual] |
Reimplemented from llvm::TargetAsmInfo.
Definition at line 153 of file DarwinTargetAsmInfo.cpp.
References ConstDataSection, llvm::TargetAsmInfo::getReadOnlySection(), llvm::TargetMachine::getRelocationModel(), MergeableConstSection(), llvm::Reloc::Static, and llvm::TargetAsmInfo::TM.
Definition at line 27 of file DarwinTargetAsmInfo.h.
Referenced by DarwinTargetAsmInfo(), and SelectSectionForGlobal().
Definition at line 28 of file DarwinTargetAsmInfo.h.
Referenced by DarwinTargetAsmInfo(), and SelectSectionForGlobal().
Definition at line 29 of file DarwinTargetAsmInfo.h.
Referenced by DarwinTargetAsmInfo(), and SelectSectionForGlobal().
Definition at line 30 of file DarwinTargetAsmInfo.h.
Referenced by DarwinTargetAsmInfo(), SelectSectionForGlobal(), and SelectSectionForMachineConst().
Definition at line 31 of file DarwinTargetAsmInfo.h.
Referenced by DarwinTargetAsmInfo(), and SelectSectionForGlobal().
Definition at line 32 of file DarwinTargetAsmInfo.h.
Referenced by DarwinTargetAsmInfo(), and MergeableConstSection().
Definition at line 33 of file DarwinTargetAsmInfo.h.
Referenced by DarwinTargetAsmInfo(), and MergeableConstSection().
Definition at line 34 of file DarwinTargetAsmInfo.h.
Referenced by DarwinTargetAsmInfo(), and MergeableConstSection().