Make ExecutionEngine owning a DataLayout
authorMehdi Amini <mehdi.amini@apple.com>
Thu, 16 Jul 2015 06:17:14 +0000 (06:17 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Thu, 16 Jul 2015 06:17:14 +0000 (06:17 +0000)
commiteaeb380a9f91fd9ef907256d5c3981fb4d43eaa0
tree7f9883d87aeaec734346cb00151e7f346c1565a7
parent9c5961b7ba252b4f0dffaf7a441a608193204eb0
Make ExecutionEngine owning a DataLayout

Summary:
This change is part of a series of commits dedicated to have a single
DataLayout during compilation by using always the one owned by the
module.

The ExecutionEngine will act as an exception and will be unsafe to
be reused across context. We don't enforce this rule but undefined
behavior can occurs if the user tries to do it.

Reviewers: lhames

Subscribers: echristo, llvm-commits, rafael, yaron.keren

Differential Revision: http://reviews.llvm.org/D11110

From: Mehdi Amini <mehdi.amini@apple.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242387 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ExecutionEngine/ExecutionEngine.h
lib/ExecutionEngine/ExecutionEngine.cpp
lib/ExecutionEngine/ExecutionEngineBindings.cpp
lib/ExecutionEngine/Interpreter/Execution.cpp
lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
lib/ExecutionEngine/Interpreter/Interpreter.cpp
lib/ExecutionEngine/Interpreter/Interpreter.h
lib/ExecutionEngine/MCJIT/MCJIT.cpp
lib/ExecutionEngine/Orc/OrcMCJITReplacement.h