13#ifndef LLVM_EXECUTIONENGINE_ORC_MACHO_H
14#define LLVM_EXECUTIONENGINE_ORC_MACHO_H
24class MachOUniversalBinary;
34Expected<std::unique_ptr<MemoryBuffer>>
41Expected<std::unique_ptr<MemoryBuffer>>
46Expected<std::unique_ptr<MemoryBuffer>>
48 StringRef UBPath, std::unique_ptr<MemoryBuffer> UBBuf,
const Triple &TT);
52Expected<std::pair<size_t, size_t>>
57Expected<std::pair<size_t, size_t>>
Expected< std::unique_ptr< MemoryBuffer > > checkMachORelocatableObject(std::unique_ptr< MemoryBuffer > 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.
Expected< std::unique_ptr< MemoryBuffer > > loadMachORelocatableObjectFromUniversalBinary(StringRef UBPath, std::unique_ptr< MemoryBuffer > UBBuf, const Triple &TT)
Load a compatible relocatable object (if available) from a MachO universal binary.
Expected< std::unique_ptr< MemoryBuffer > > loadMachORelocatableObject(StringRef Path, const Triple &TT)
Load a relocatable object compatible with TT from Path.
This is an optimization pass for GlobalISel generic memory operations.