OSDN Git Service

[Orc] Remove the memory manager argument to addModule, and de-templatize the
authorLang Hames <lhames@gmail.com>
Tue, 4 Jul 2017 04:42:30 +0000 (04:42 +0000)
committerLang Hames <lhames@gmail.com>
Tue, 4 Jul 2017 04:42:30 +0000 (04:42 +0000)
commit966d9ebd7f825b6272aa691dcef6baada1129c5c
tree1930140eb962cde4c4dfe954956338f35e822282
parent285f30181c40356d268c9bd7875c585d5fd6ff65
[Orc] Remove the memory manager argument to addModule, and de-templatize the
symbol resolver argument.

De-templatizing the symbol resolver is part of the ongoing simplification of
ORC layer API.

Removing the memory management argument (and delegating construction of memory
managers for RTDyldObjectLinkingLayer to a functor passed in to the constructor)
allows us to build JITs whose base object layers need not be compatible with
RTDyldObjectLinkingLayer's memory mangement scheme. For example, a 'remote
object layer' that sends fully relocatable objects directly to the remote does
not need a memory management scheme at all (that will be handled by the remote).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307058 91177308-0d34-0410-b5e6-96231b3b80d8
20 files changed:
examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
examples/Kaleidoscope/BuildingAJIT/Chapter5/KaleidoscopeJIT.h
examples/Kaleidoscope/include/KaleidoscopeJIT.h
include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
include/llvm/ExecutionEngine/Orc/LambdaResolver.h
include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
lib/ExecutionEngine/Orc/OrcCBindingsStack.h
lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
tools/lli/OrcLazyJIT.h
tools/lli/RemoteJITUtils.h
unittests/ExecutionEngine/Orc/LazyEmittingLayerTest.cpp
unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp
unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp