From 105518fe3cf2adedee729d6d8263e903a04c2fbf Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Thu, 26 May 2016 17:20:35 +0000 Subject: [Orc] Merge some common code for creating CompileCallbackManagers and IndirectStubsManagers. llvm-svn: 270874 --- llvm/tools/lli/OrcLazyJIT.cpp | 55 +++---------------------------------------- 1 file changed, 3 insertions(+), 52 deletions(-) (limited to 'llvm/tools/lli/OrcLazyJIT.cpp') diff --git a/llvm/tools/lli/OrcLazyJIT.cpp b/llvm/tools/lli/OrcLazyJIT.cpp index dc9d6486b6e..b13e7696627 100644 --- a/llvm/tools/lli/OrcLazyJIT.cpp +++ b/llvm/tools/lli/OrcLazyJIT.cpp @@ -46,54 +46,6 @@ namespace { cl::init(true), cl::Hidden); } -std::unique_ptr -OrcLazyJIT::createCompileCallbackMgr(Triple T) { - switch (T.getArch()) { - default: return nullptr; - - case Triple::x86: { - typedef orc::LocalJITCompileCallbackManager CCMgrT; - return llvm::make_unique(0); - } - - case Triple::x86_64: { - if ( T.getOS() == Triple::OSType::Win32 ) { - typedef orc::LocalJITCompileCallbackManager CCMgrT; - return llvm::make_unique(0); - } else { - typedef orc::LocalJITCompileCallbackManager CCMgrT; - return llvm::make_unique(0); - } - } - } -} - -OrcLazyJIT::IndirectStubsManagerBuilder -OrcLazyJIT::createIndirectStubsMgrBuilder(Triple T) { - switch (T.getArch()) { - default: return nullptr; - - case Triple::x86: - return [](){ - return llvm::make_unique< - orc::LocalIndirectStubsManager>(); - }; - - case Triple::x86_64: - if (T.getOS() == Triple::OSType::Win32) { - return [](){ - return llvm::make_unique< - orc::LocalIndirectStubsManager>(); - }; - } else { - return [](){ - return llvm::make_unique< - orc::LocalIndirectStubsManager>(); - }; - } - } -} - OrcLazyJIT::TransformFtor OrcLazyJIT::createDebugDumper() { switch (OrcDumpKind) { @@ -165,8 +117,8 @@ int llvm::runOrcLazyJIT(std::unique_ptr M, int ArgC, char* ArgV[]) { EngineBuilder EB; EB.setOptLevel(getOptLevel()); auto TM = std::unique_ptr(EB.selectTarget()); - auto CompileCallbackMgr = - OrcLazyJIT::createCompileCallbackMgr(Triple(TM->getTargetTriple())); + Triple T(TM->getTargetTriple()); + auto CompileCallbackMgr = orc::createLocalCompileCallbackManager(T, 0); // If we couldn't build the factory function then there must not be a callback // manager for this target. Bail out. @@ -176,8 +128,7 @@ int llvm::runOrcLazyJIT(std::unique_ptr M, int ArgC, char* ArgV[]) { return 1; } - auto IndirectStubsMgrBuilder = - OrcLazyJIT::createIndirectStubsMgrBuilder(Triple(TM->getTargetTriple())); + auto IndirectStubsMgrBuilder = orc::createLocalIndirectStubsManagerBuilder(T); // If we couldn't build a stubs-manager-builder for this target then bail out. if (!IndirectStubsMgrBuilder) { -- cgit v1.2.3