28void ObjectFile::anchor() {}
40 return *
this == **SymSec;
59 return Name.takeError();
69 return *NameOrErr ==
".llvm.lto";
128 }
else if (TheTriple.
isNVPTX()) {
139 return ReflectionSectionKind == Swift5ReflectionSectionKind::fieldmd ||
140 ReflectionSectionKind == Swift5ReflectionSectionKind::reflstr ||
141 ReflectionSectionKind == Swift5ReflectionSectionKind::assocty;
Lightweight error class with error context and mandatory checking.
static ErrorSuccess success()
Create a success value.
Tagged union holding either a T or a Error.
Error takeError()
Take ownership of the stored error.
Triple - Helper class for working with autoconf configuration names.
LLVM_ABI void setObjectFormat(ObjectFormatType Kind)
Set the object file format.
LLVM_ABI void setTriple(const Twine &Str)
Set all components to the new triple Str.
bool isNVPTX() const
Tests whether the target is NVPTX (32- or 64-bit).
LLVM_ABI void setOS(OSType Kind)
Set the operating system (third) component of the triple to a known type.
LLVM_ABI void setArch(ArchType Kind, SubArchType SubArch=NoSubArch)
Set the architecture (first) component of the triple to a known type.
LLVM_ABI void setVendor(VendorType Kind)
Set the vendor (second) component of the triple to a known type.
The instances of the Type class are immutable: once they are created, they are never changed.
virtual bool isBerkeleyText(DataRefImpl Sec) const
virtual Expected< section_iterator > getRelocatedSection(DataRefImpl Sec) const
uint64_t getCommonSymbolSize(DataRefImpl Symb) const
virtual Expected< StringRef > getSectionName(DataRefImpl Sec) const =0
virtual bool isBerkeleyData(DataRefImpl Sec) const
virtual Expected< StringRef > getSymbolName(DataRefImpl Symb) const =0
Error printSymbolName(raw_ostream &OS, DataRefImpl Symb) const override
Triple makeTriple() const
Create a triple from the data in this object file.
virtual bool isSectionText(DataRefImpl Sec) const =0
section_iterator_range sections() const
virtual uint64_t getSymbolValueImpl(DataRefImpl Symb) const =0
virtual bool isDebugSection(DataRefImpl Sec) const
virtual void setARMSubArch(Triple &TheTriple) const
virtual uint32_t getSymbolAlignment(DataRefImpl Symb) const
virtual bool isSectionData(DataRefImpl Sec) const =0
Expected< uint64_t > getSymbolValue(DataRefImpl Symb) const
virtual Triple::OSType getOS() const
bool isReflectionSectionStrippable(llvm::binaryformat::Swift5ReflectionSectionKind ReflectionSectionKind) const
True if the reflection section can be stripped by the linker.
virtual bool hasDebugInfo() const
virtual Triple::ArchType getArch() const =0
virtual bool isSectionStripped(DataRefImpl Sec) const
virtual bool isSectionBitcode(DataRefImpl Sec) const
bool isDebugSection() const
Whether this section is a debug section.
LLVM_ABI bool containsSymbol(SymbolRef S) const
Expected< section_iterator > getSection() const
Get section this symbol is defined in reference to.
SymbolicFile(unsigned int Type, MemoryBufferRef Source)
virtual Expected< uint32_t > getSymbolFlags(DataRefImpl Symb) const =0
This class implements an extremely fast bulk output stream that can only output to a stream.
content_iterator< SectionRef > section_iterator
LLVM_ABI raw_ostream & operator<<(raw_ostream &OS, const SectionedAddress &Addr)
This is an optimization pass for GlobalISel generic memory operations.
bool any_of(R &&range, UnaryPredicate P)
Provide wrappers to std::any_of which take ranges instead of having to pass begin/end explicitly.
FormattedNumber format_hex(uint64_t N, unsigned Width, bool Upper=false)
format_hex - Output N as a fixed width hexadecimal.
@ Ref
The access may reference the value stored in memory.
decltype(auto) cast(const From &Val)
cast<X> - Return the argument parameter cast to the specified type.
void consumeError(Error Err)
Consume a Error without doing anything.
static const uint64_t UndefSection