Make ExecutionEngine owning a DataLayout
authorMehdi Amini <mehdi.amini@apple.com>
Thu, 16 Jul 2015 16:34:23 +0000 (16:34 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Thu, 16 Jul 2015 16:34:23 +0000 (16:34 +0000)
commita3fcefb66e8ed3dc45ab05b8e7983e9232606ac0
tree4bf2eecbb623e76049d4355c47c35ee29b4c867d
parentf14af1621942f084a05a772f1e7d06636c0293f3
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>
llvm-svn: 242414
llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
llvm/lib/ExecutionEngine/ExecutionEngine.cpp
llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp
llvm/lib/ExecutionEngine/Interpreter/Interpreter.h
llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h