LLVM
8.0.1
|
This represents a section on a Mach-O system (used by Mac OS X). More...
#include "llvm/MC/MCSectionMachO.h"
Static Public Member Functions | |
static std::string | ParseSectionSpecifier (StringRef Spec, StringRef &Segment, StringRef &Section, unsigned &TAA, bool &TAAParsed, unsigned &StubSize) |
Parse the section specifier indicated by "Spec". More... | |
static bool | classof (const MCSection *S) |
Static Public Member Functions inherited from llvm::MCSection | |
static FragmentListType MCSection::* | getSublistAccess (MCFragment *) |
Support for MCFragment::getNextNode(). More... | |
Friends | |
class | MCContext |
Additional Inherited Members | |
Public Types inherited from llvm::MCSection | |
enum | SectionVariant { SV_COFF = 0, SV_ELF, SV_MachO, SV_Wasm } |
enum | BundleLockStateType { NotBundleLocked, BundleLocked, BundleLockedAlignToEnd } |
Express the state of bundle locked groups while emitting code. More... | |
using | FragmentListType = iplist< MCFragment > |
using | const_iterator = FragmentListType::const_iterator |
using | iterator = FragmentListType::iterator |
using | const_reverse_iterator = FragmentListType::const_reverse_iterator |
using | reverse_iterator = FragmentListType::reverse_iterator |
Protected Member Functions inherited from llvm::MCSection | |
MCSection (SectionVariant V, SectionKind K, MCSymbol *Begin) | |
~MCSection () | |
Protected Attributes inherited from llvm::MCSection | |
SectionVariant | Variant |
SectionKind | Kind |
This represents a section on a Mach-O system (used by Mac OS X).
On a Mac system, these are also described in /usr/include/mach-o/loader.h.
Definition at line 25 of file MCSectionMachO.h.
Definition at line 85 of file MCSectionMachO.h.
References llvm::MCSection::getVariant(), and llvm::MCSection::SV_MachO.
|
inline |
Definition at line 48 of file MCSectionMachO.h.
Referenced by canGoAfterDWARF(), canUseLocalRelocation(), llvm::MCAsmInfoDarwin::isSectionAtomizableBySymbols(), and PrintSwitchToSection().
|
inline |
Definition at line 42 of file MCSectionMachO.h.
Referenced by canGoAfterDWARF(), canUseLocalRelocation(), getPlatformName(), llvm::MCAsmInfoDarwin::isSectionAtomizableBySymbols(), and PrintSwitchToSection().
|
inline |
Definition at line 56 of file MCSectionMachO.h.
|
inline |
Definition at line 58 of file MCSectionMachO.h.
References llvm::MachO::SECTION_TYPE.
Referenced by llvm::MachObjectWriter::bindIndirectSymbols(), canUseLocalRelocation(), llvm::MCAsmInfoDarwin::isSectionAtomizableBySymbols(), isVirtualSection(), and PrintSwitchToSection().
|
inline |
Definition at line 55 of file MCSectionMachO.h.
Referenced by llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal(), and PrintSwitchToSection().
Definition at line 62 of file MCSectionMachO.h.
References isVirtualSection(), ParseSectionSpecifier(), PrintSwitchToSection(), and UseCodeAlign().
Referenced by canUseLocalRelocation(), canUsePrivateLabel(), getFixupKindLog2Size(), and UseCodeAlign().
|
overridevirtual |
Check whether this section is "virtual", that is has no actual object file contents.
Implements llvm::MCSection.
Definition at line 172 of file MCSectionMachO.cpp.
References getType(), llvm::MachO::S_GB_ZEROFILL, llvm::MachO::S_THREAD_LOCAL_ZEROFILL, and llvm::MachO::S_ZEROFILL.
Referenced by hasAttribute(), and llvm::MachObjectWriter::writeSection().
|
static |
Parse the section specifier indicated by "Spec".
ParseSectionSpecifier - Parse the section specifier indicated by "Spec".
This is a string that can appear after a .section directive in a mach-o flavored .s file. If successful, this fills in the specified Out parameters and returns an empty string. When an invalid section specifier is present, this returns a string indicating the problem. If no TAA was parsed, TAA is not altered, and TAAWasSet becomes false.
This is a string that can appear after a .section directive in a mach-o flavored .s file. If successful, this fills in the specified Out parameters and returns an empty string. When an invalid section specifier is present, this returns a string indicating the problem.
Definition at line 183 of file MCSectionMachO.cpp.
References llvm::AMDGPU::HSAMD::Kernel::Key::Attrs, llvm::sys::path::begin(), llvm::StringRef::empty(), llvm::sys::path::end(), llvm::find_if(), llvm::StringRef::getAsInteger(), llvm::MachO::S_SYMBOL_STUBS, llvm::MachO::SECTION_TYPE, SectionAttrDescriptors, SectionTypeDescriptors, llvm::SmallVectorBase::size(), llvm::StringRef::size(), and llvm::StringRef::split().
Referenced by llvm::TargetLoweringObjectFileMachO::emitModuleMetadata(), llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal(), hasAttribute(), and instrumentMaskedLoadOrStore().
|
overridevirtual |
Implements llvm::MCSection.
Definition at line 104 of file MCSectionMachO.cpp.
References AssemblerName, assert(), AttrFlag, llvm::StringRef::empty(), getSectionName(), getSegmentName(), getType(), getTypeAndAttributes(), llvm::MachO::LAST_KNOWN_SECTION_TYPE, llvm::MachO::SECTION_ATTRIBUTES, SectionAttrDescriptors, and SectionTypeDescriptors.
Referenced by hasAttribute().
|
overridevirtual |
Return true if a .align directive should use "optimized nops" to fill instead of 0s.
Implements llvm::MCSection.
Definition at line 168 of file MCSectionMachO.cpp.
References hasAttribute(), and llvm::MachO::S_ATTR_PURE_INSTRUCTIONS.
Referenced by hasAttribute().
|
friend |
Definition at line 39 of file MCSectionMachO.h.