|
LLVM
3.7.0
|
#include <TargetLoweringObjectFileImpl.h>
Definition at line 88 of file TargetLoweringObjectFileImpl.h.
|
inlineoverride |
Definition at line 90 of file TargetLoweringObjectFileImpl.h.
| TargetLoweringObjectFileMachO::TargetLoweringObjectFileMachO | ( | ) |
Definition at line 438 of file TargetLoweringObjectFileImpl.cpp.
References llvm::TargetLoweringObjectFile::SupportIndirectSymViaGOTPCRel.
|
overridevirtual |
Emit the module flags that specify the garbage collection information.
emitModuleFlags - Perform code emission for module flags.
Reimplemented from llvm::TargetLoweringObjectFile.
Definition at line 445 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCStreamer::AddBlankLine(), llvm::ArrayRef< T >::begin(), llvm::Module::ModuleFlagEntry::Behavior, llvm::MCStreamer::EmitIntValue(), llvm::MCStreamer::EmitLabel(), llvm::MCStreamer::EmitLinkerOptions(), llvm::StringRef::empty(), llvm::ArrayRef< T >::end(), llvm::TargetLoweringObjectFile::getContext(), llvm::SectionKind::getDataNoRel(), llvm::MCContext::getMachOSection(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), getString(), llvm::MDString::getString(), llvm::Module::ModuleFlagEntry::Key, llvm::MCSectionMachO::ParseSectionSpecifier(), llvm::report_fatal_error(), llvm::Module::Require, llvm::ARMBuildAttrs::Section, llvm::MCStreamer::SwitchSection(), and llvm::Module::ModuleFlagEntry::Val.
|
overridevirtual |
Reimplemented from llvm::TargetLoweringObjectFile.
Reimplemented in llvm::AArch64_MachoTargetObjectFile, and llvm::X86_64MachoTargetObjectFile.
Definition at line 686 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MachineModuleInfoMachO::getGVStubEntry(), llvm::MachineModuleInfo::getObjFileInfo(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getPointer(), llvm::TargetMachine::getSymbol(), llvm::TargetLoweringObjectFile::getSymbolWithGlobalValueBase(), and llvm::GlobalValue::hasLocalLinkage().
|
overridevirtual |
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 528 of file TargetLoweringObjectFileImpl.cpp.
References checkMachOComdat(), llvm::TargetLoweringObjectFile::getContext(), llvm::MCContext::getMachOSection(), llvm::Value::getName(), llvm::GlobalValue::getSection(), llvm::MCSectionMachO::getStubSize(), llvm::MCSectionMachO::getTypeAndAttributes(), llvm::MCSectionMachO::ParseSectionSpecifier(), llvm::report_fatal_error(), and llvm::ARMBuildAttrs::Section.
|
overridevirtual |
Get MachO PC relative GOT entry relocation.
Reimplemented from llvm::TargetLoweringObjectFile.
Reimplemented in llvm::AArch64_MachoTargetObjectFile, and llvm::X86_64MachoTargetObjectFile.
Definition at line 706 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCConstantExpr::create(), llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::createAdd(), llvm::MCBinaryExpr::createSub(), llvm::TargetLoweringObjectFile::DL, llvm::MCValue::getConstant(), llvm::TargetLoweringObjectFile::getContext(), llvm::MachineModuleInfoMachO::getGVStubEntry(), llvm::MCSymbol::getName(), llvm::MachineModuleInfo::getObjFileInfo(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getPointer(), llvm::DataLayout::getPrivateGlobalPrefix(), llvm::MCValue::getSymB(), llvm::MCSymbolRefExpr::getSymbol(), and llvm::MCSymbolRefExpr::VK_None.
|
overridevirtual |
Given a constant with the SectionKind, return a section that it should be placed in.
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 638 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCObjectFileInfo::ConstDataSection, llvm::MCObjectFileInfo::EightByteConstantSection, llvm::MCObjectFileInfo::FourByteConstantSection, llvm::SectionKind::isDataRel(), llvm::SectionKind::isMergeableConst16(), llvm::SectionKind::isMergeableConst4(), llvm::SectionKind::isMergeableConst8(), llvm::SectionKind::isReadOnlyWithRel(), llvm::MCObjectFileInfo::ReadOnlySection, and llvm::MCObjectFileInfo::SixteenByteConstantSection.
|
overridevirtual |
The mach-o version of this method defaults to returning a stub reference.
Reimplemented from llvm::TargetLoweringObjectFile.
Reimplemented in llvm::AArch64_MachoTargetObjectFile, and llvm::X86_64MachoTargetObjectFile.
Definition at line 654 of file TargetLoweringObjectFileImpl.cpp.
References llvm::MCSymbolRefExpr::create(), llvm::dwarf::DW_EH_PE_indirect, llvm::TargetLoweringObjectFile::getContext(), llvm::MachineModuleInfoMachO::getGVStubEntry(), llvm::MachineModuleInfoMachO::getHiddenGVStubEntry(), llvm::MachineModuleInfo::getObjFileInfo(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getPointer(), llvm::TargetMachine::getSymbol(), llvm::TargetLoweringObjectFile::getSymbolWithGlobalValueBase(), llvm::TargetLoweringObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFile::getTTypeReference(), llvm::GlobalValue::hasHiddenVisibility(), and llvm::GlobalValue::hasLocalLinkage().
Referenced by llvm::X86_64MachoTargetObjectFile::getTTypeGlobalReference(), and llvm::AArch64_MachoTargetObjectFile::getTTypeGlobalReference().
|
overridevirtual |
Implements llvm::TargetLoweringObjectFile.
Definition at line 570 of file TargetLoweringObjectFileImpl.cpp.
References checkMachOComdat(), llvm::MCObjectFileInfo::ConstDataSection, llvm::MCObjectFileInfo::ConstTextCoalSection, llvm::MCObjectFileInfo::CStringSection, llvm::MCObjectFileInfo::DataBSSSection, llvm::MCObjectFileInfo::DataCoalSection, llvm::MCObjectFileInfo::DataCommonSection, llvm::MCObjectFileInfo::DataSection, llvm::MCObjectFileInfo::EightByteConstantSection, llvm::MCObjectFileInfo::FourByteConstantSection, llvm::TargetMachine::getDataLayout(), llvm::DataLayout::getPreferredAlignment(), llvm::GlobalValue::hasExternalLinkage(), llvm::GlobalValue::hasPrivateLinkage(), llvm::SectionKind::isBSSExtern(), llvm::SectionKind::isBSSLocal(), llvm::SectionKind::isMergeable1ByteCString(), llvm::SectionKind::isMergeable2ByteCString(), llvm::SectionKind::isMergeableConst(), llvm::SectionKind::isMergeableConst16(), llvm::SectionKind::isMergeableConst4(), llvm::SectionKind::isMergeableConst8(), llvm::SectionKind::isReadOnly(), llvm::SectionKind::isReadOnlyWithRel(), llvm::SectionKind::isText(), llvm::SectionKind::isThreadBSS(), llvm::SectionKind::isThreadData(), llvm::GlobalValue::isWeakForLinker(), llvm::MCObjectFileInfo::ReadOnlySection, llvm::MCObjectFileInfo::SixteenByteConstantSection, llvm::MCObjectFileInfo::TextCoalSection, llvm::MCObjectFileInfo::TextSection, llvm::MCObjectFileInfo::TLSBSSSection, llvm::MCObjectFileInfo::TLSDataSection, and llvm::MCObjectFileInfo::UStringSection.
1.8.6