]> granicus.if.org Git - llvm/commit
[Orc] Update the Orc indirection utils and refactor the CompileOnDemand layer.
authorLang Hames <lhames@gmail.com>
Tue, 17 Feb 2015 01:18:38 +0000 (01:18 +0000)
committerLang Hames <lhames@gmail.com>
Tue, 17 Feb 2015 01:18:38 +0000 (01:18 +0000)
commit0d40b2b30f41b90f5056bfa83c98c10fb4227a07
tree8f9ef2ec8423832764ddf62eb922f7531141b505
parent4ba3a67430ed9b40b6ae155a44a0f5d731611119
[Orc] Update the Orc indirection utils and refactor the CompileOnDemand layer.

This patch replaces most of the Orc indirection utils API with a new class:
JITCompileCallbackManager, which creates and manages JIT callbacks.
Exposing this functionality directly allows the user to create callbacks that
are associated with user supplied compilation actions. For example, you can
create a callback to lazyily IR-gen something from an AST. (A kaleidoscope
example demonstrating this will be committed shortly).

This patch also refactors the CompileOnDemand layer to use the
JITCompileCallbackManager API.

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