13#ifndef LLVM_EXECUTIONENGINE_ORC_MACHO_H
14#define LLVM_EXECUTIONENGINE_ORC_MACHO_H
25class MachOUniversalBinary;
45Expected<std::unique_ptr<MemoryBuffer>>
55 std::optional<StringRef> IdentifierOverride = std::nullopt);
63 std::unique_ptr<MemoryBuffer> UBBuf,
82 : L(L), JD(JD), ObjCOnly(ObjCOnly) {}
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
StringRef - Represent a constant reference to a string, i.e.
Triple - Helper class for working with autoconf configuration names.
For use with StaticLibraryDefinitionGenerators.
ForceLoadMachOArchiveMembers(ObjectLayer &L, JITDylib &JD, bool ObjCOnly)
Error operator()(MemoryBufferRef MemberBuf)
Represents a JIT'd dynamic library.
Interface for Layers that accept object files.
Expected< std::pair< std::unique_ptr< MemoryBuffer >, LinkableFileKind > > loadLinkableSliceFromMachOUniversalBinary(sys::fs::file_t FD, std::unique_ptr< MemoryBuffer > UBBuf, const Triple &TT, LoadArchives LA, StringRef UBPath, StringRef Identifier)
Load a compatible relocatable object (if available) from a MachO universal binary.
Expected< std::pair< std::unique_ptr< MemoryBuffer >, LinkableFileKind > > loadMachOLinkableFile(StringRef Path, const Triple &TT, LoadArchives LA, std::optional< StringRef > IdentifierOverride=std::nullopt)
Load a relocatable object compatible with TT from Path.
Error checkMachORelocatableObject(MemoryBufferRef Obj, const Triple &TT, bool ObjIsSlice)
Check that the given buffer contains a MachO object file compatible with the given triple.
Expected< std::pair< size_t, size_t > > getMachOSliceRangeForTriple(object::MachOUniversalBinary &UB, const Triple &TT)
Utility for identifying the file-slice compatible with TT in a universal binary.
This is an optimization pass for GlobalISel generic memory operations.