From bb870789f2e8a49c1dbfc9631b8c2d8d23bb510b Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Tue, 15 Aug 2017 18:10:19 +0000 Subject: [PATCH] [ORC] Add case statements for AArch64 to the local stub and callback manager creation functions. This should allow lli to lazily execute code using OrcLazyJIT on AArch64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310938 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/ExecutionEngine/Orc/IndirectionUtils.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/ExecutionEngine/Orc/IndirectionUtils.cpp b/lib/ExecutionEngine/Orc/IndirectionUtils.cpp index e3a456849f9..68397beae63 100644 --- a/lib/ExecutionEngine/Orc/IndirectionUtils.cpp +++ b/lib/ExecutionEngine/Orc/IndirectionUtils.cpp @@ -28,6 +28,11 @@ createLocalCompileCallbackManager(const Triple &T, switch (T.getArch()) { default: return nullptr; + case Triple::aarch64: { + typedef orc::LocalJITCompileCallbackManager CCMgrT; + return llvm::make_unique(ErrorHandlerAddress); + } + case Triple::x86: { typedef orc::LocalJITCompileCallbackManager CCMgrT; return llvm::make_unique(ErrorHandlerAddress); @@ -42,6 +47,7 @@ createLocalCompileCallbackManager(const Triple &T, return llvm::make_unique(ErrorHandlerAddress); } } + } } @@ -50,6 +56,12 @@ createLocalIndirectStubsManagerBuilder(const Triple &T) { switch (T.getArch()) { default: return nullptr; + case Triple::aarch64: + return [](){ + return llvm::make_unique< + orc::LocalIndirectStubsManager>(); + }; + case Triple::x86: return [](){ return llvm::make_unique< @@ -68,6 +80,7 @@ createLocalIndirectStubsManagerBuilder(const Triple &T) { orc::LocalIndirectStubsManager>(); }; } + } } -- 2.50.1