OSDN Git Service

[ORC] In CompileOnDemandLayer2, clone modules on to different contexts by
authorLang Hames <lhames@gmail.com>
Thu, 5 Jul 2018 19:01:27 +0000 (19:01 +0000)
committerLang Hames <lhames@gmail.com>
Thu, 5 Jul 2018 19:01:27 +0000 (19:01 +0000)
commit318e807d1715048e8083c307967fa9ee120383e8
treecf4dc52a4cadc22a08eb38ea9e9e1998ed803274
parentd4298974bd1b9bba9ea127038e2627275b1c8dd2
[ORC] In CompileOnDemandLayer2, clone modules on to different contexts by
writing them to a buffer and re-loading them.

Also introduces a multithreaded variant of SimpleCompiler
(MultiThreadedSimpleCompiler) for compiling IR concurrently on multiple
threads.

These changes are required to JIT IR on multiple threads correctly.

No test case yet. I will be looking at how to modify LLI / LLJIT to test
multithreaded JIT support soon.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336385 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
include/llvm/ExecutionEngine/Orc/CompileUtils.h
lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp