diff options
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp b/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp index 38cab526704f..989bb094cc25 100644 --- a/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp +++ b/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp @@ -137,6 +137,11 @@ createLocalCompileCallbackManager(const Triple &T, ExecutionSession &ES, return CCMgrT::Create(ES, ErrorHandlerAddress); } + case Triple::loongarch64: { + typedef orc::LocalJITCompileCallbackManager<orc::OrcLoongArch64> CCMgrT; + return CCMgrT::Create(ES, ErrorHandlerAddress); + } + case Triple::mips: { typedef orc::LocalJITCompileCallbackManager<orc::OrcMips32Be> CCMgrT; return CCMgrT::Create(ES, ErrorHandlerAddress); @@ -192,6 +197,12 @@ createLocalIndirectStubsManagerBuilder(const Triple &T) { orc::LocalIndirectStubsManager<orc::OrcI386>>(); }; + case Triple::loongarch64: + return []() { + return std::make_unique< + orc::LocalIndirectStubsManager<orc::OrcLoongArch64>>(); + }; + case Triple::mips: return [](){ return std::make_unique< @@ -407,7 +418,7 @@ Error addFunctionPointerRelocationsToCurrentSymbol(jitlink::Symbol &Sym, auto SymStartInBlock = (const uint8_t *)B.getContent().data() + Sym.getOffset(); auto SymSize = Sym.getSize() ? Sym.getSize() : B.getSize() - Sym.getOffset(); - auto Content = makeArrayRef(SymStartInBlock, SymSize); + auto Content = ArrayRef(SymStartInBlock, SymSize); LLVM_DEBUG(dbgs() << "Adding self-relocations to " << Sym.getName() << "\n"); |