13#ifndef LLVM_RUNTIME_DYLD_COFF_H
14#define LLVM_RUNTIME_DYLD_COFF_H
26 std::unique_ptr<RuntimeDyld::LoadedObjectInfo>
30 static std::unique_ptr<RuntimeDyldCOFF>
39 PointerReloc(PointerReloc) {
40 assert((PointerSize == 4 || PointerSize == 8) &&
"Unexpected pointer size");
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Symbol resolution interface.
Interface for looking up the initializer for a variable name, used by Init::resolveReferences.
uint64_t getSymbolOffset(const SymbolRef &Sym)
static constexpr StringRef getImportSymbolPrefix()
RuntimeDyldCOFF(RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver, unsigned PointerSize, uint32_t PointerReloc)
unsigned sizeAfterAddingDLLImportStub(unsigned Size) const override
std::unique_ptr< RuntimeDyld::LoadedObjectInfo > loadObject(const object::ObjectFile &Obj) override
static std::unique_ptr< RuntimeDyldCOFF > create(Triple::ArchType Arch, RuntimeDyld::MemoryManager &MemMgr, JITSymbolResolver &Resolver)
bool relocationNeedsDLLImportStub(const RelocationRef &R) const override
bool isCompatibleFile(const object::ObjectFile &Obj) const override
uint64_t getDLLImportOffset(unsigned SectionID, StubMap &Stubs, StringRef Name, bool SetSectionIDMinus1=false)
std::map< RelocationValueRef, uintptr_t > StubMap
RuntimeDyld::MemoryManager & MemMgr
StringRef - Represent a constant reference to a string, i.e.
This class is the base class for all object file types.
This is a value type class that represents a single relocation in the list of relocations in the obje...
This is a value type class that represents a single symbol in the list of symbols in the object file.
This is an optimization pass for GlobalISel generic memory operations.
uint64_t alignTo(uint64_t Size, Align A)
Returns a multiple of A needed to store Size bytes.