#
79cc1e3a |
| 02-Sep-2014 |
Eric Christopher <echristo@gmail.com> |
Reinstate "Nuke the old JIT." Approved by Jim Grosbach, Lang Hames, Rafael Espindola.
This reinstates commits r215111, 215115, 215116, 215117, 215136.
llvm-svn: 216982
|
Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4 |
|
#
7271c194 |
| 26-Aug-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Give ExecutionEngine of top level buffers.
Long term the idea if for the engine to not own the buffers, but for now this is consistent with the rest of the API.
llvm-svn: 216484
|
#
4b535d19 |
| 26-Aug-2014 |
Dylan Noblesmith <nobled@dreamwidth.org> |
ExecutionEngine: address review comments
llvm-svn: 216427
|
#
c4a9942a |
| 25-Aug-2014 |
Dylan Noblesmith <nobled@dreamwidth.org> |
ExecutionEngine: unique_ptr-ify
NFC.
llvm-svn: 216362
|
Revision tags: llvmorg-3.5.0-rc3 |
|
#
48af1c2a |
| 19-Aug-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't own the buffer in object::Binary.
Owning the buffer is somewhat inflexible. Some Binaries have sub Binaries (like Archive) and we had to create dummy buffers just to handle that. It is also a
Don't own the buffer in object::Binary.
Owning the buffer is somewhat inflexible. Some Binaries have sub Binaries (like Archive) and we had to create dummy buffers just to handle that. It is also a bad fit for IRObjectFile where the Module wants to own the buffer too.
Keeping this ownership would make supporting IR inside native objects particularly painful.
This patch focuses in lib/Object. If something elsewhere used to own an Binary, now it also owns a MemoryBuffer.
This patch introduces a few new types.
* MemoryBufferRef. This is just a pair of StringRefs for the data and name. This is to MemoryBuffer as StringRef is to std::string. * OwningBinary. A combination of Binary and a MemoryBuffer. This is needed for convenience functions that take a filename and return both the buffer and the Binary using that buffer.
The C api now uses OwningBinary to avoid any change in semantics. I will start a new thread to see if we want to change it and how.
llvm-svn: 216002
show more ...
|
#
2a8a2795 |
| 19-Aug-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make it explicit that ExecutionEngine takes ownership of the modules.
llvm-svn: 215967
|
#
57d9ab64 |
| 18-Aug-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use a range loop. NFC.
llvm-svn: 215948
|
#
b9fd9ed3 |
| 07-Aug-2014 |
Eric Christopher <echristo@gmail.com> |
Temporarily Revert "Nuke the old JIT." as it's not quite ready to be deleted. This will be reapplied as soon as possible and before the 3.6 branch date at any rate.
Approved by Jim Grosbach, Lang Ha
Temporarily Revert "Nuke the old JIT." as it's not quite ready to be deleted. This will be reapplied as soon as possible and before the 3.6 branch date at any rate.
Approved by Jim Grosbach, Lang Hames, Rafael Espindola.
This reverts commits r215111, 215115, 215116, 215117, 215136.
llvm-svn: 215154
show more ...
|
#
f8b27c41 |
| 07-Aug-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Nuke the old JIT.
I am sure we will be finding bits and pieces of dead code for years to come, but this is a good start.
Thanks to Lang Hames for making MCJIT a good replacement!
llvm-svn: 215111
|
Revision tags: llvmorg-3.5.0-rc2 |
|
#
dd39657a |
| 01-Aug-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Include Archive.h
MSVC was complaining about Archive being an incomplete type.
llvm-svn: 214542
|
#
acfd6289 |
| 01-Aug-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move virtual method out of line.
Should fix the MSVC build.
llvm-svn: 214539
|
#
b9a23cdc |
| 31-Jul-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Delete dead code.
llvm-svn: 214370
|
#
8c4c0213 |
| 24-Jul-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove dead code.
Every user has been switched to using EngineBuilder.
llvm-svn: 213871
|
Revision tags: llvmorg-3.5.0-rc1 |
|
#
568c31f2 |
| 01-Jul-2014 |
Alp Toker <alp@nuanti.com> |
ExecutionEngine::create(): fix interpreter fallback when JIT is unavailable
ForceInterpreter=false shouldn't disable the interpreter completely because it can still be necessary to interpret if the
ExecutionEngine::create(): fix interpreter fallback when JIT is unavailable
ForceInterpreter=false shouldn't disable the interpreter completely because it can still be necessary to interpret if the target doesn't support JIT.
No obvious way to test this in LLVM, but this matches what LLVMCreateExecutionEngineForModule() does and fixes the clang-interpreter example in the clang source tree which uses the ExecutionEngine.
llvm-svn: 212086
show more ...
|
#
c04b892f |
| 20-Jun-2014 |
Zachary Turner <zturner@google.com> |
Revert "Replace Execution Engine's mutex with std::recursive_mutex."
This reverts commit 1f502bd9d7d2c1f98ad93a09ffe435e11a95aedd, due to GCC / MinGW's lack of support for C++11 threading.
It's pos
Revert "Replace Execution Engine's mutex with std::recursive_mutex."
This reverts commit 1f502bd9d7d2c1f98ad93a09ffe435e11a95aedd, due to GCC / MinGW's lack of support for C++11 threading.
It's possible this will go back in after we come up with a reasonable solution.
llvm-svn: 211401
show more ...
|
#
62ce4e88 |
| 18-Jun-2014 |
Zachary Turner <zturner@google.com> |
Replace Execution Engine's mutex with std::recursive_mutex.
This change has a bit of a trickle down effect due to the fact that there are a number of derived implementations of ExecutionEngine, and
Replace Execution Engine's mutex with std::recursive_mutex.
This change has a bit of a trickle down effect due to the fact that there are a number of derived implementations of ExecutionEngine, and that the mutex is not tightly encapsulated so is used by other classes directly.
Reviewed by: rnk
Differential Revision: http://reviews.llvm.org/D4196
llvm-svn: 211214
show more ...
|
#
2f825df6 |
| 16-Jun-2014 |
Zachary Turner <zturner@google.com> |
Clean up some unnecessary mutex guards.
These were being used as unreferenced parameters to enforce that the methods must not be called without holding a mutex, but all of the methods in question we
Clean up some unnecessary mutex guards.
These were being used as unreferenced parameters to enforce that the methods must not be called without holding a mutex, but all of the methods in question were internal, and the methods were only exposed through an interface whose entire purpose was to serialize access to these structures, so expecting the methods to be accessed under a mutex is reasonable enough.
Reviewed by: blaikie
Differential Revision: http://reviews.llvm.org/D4162
llvm-svn: 211054
show more ...
|
#
322db9ea |
| 31-May-2014 |
Alp Toker <alp@nuanti.com> |
ExecutionEngine: avoid NDEBUG in headers
llvm-svn: 209981
|
Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1 |
|
#
49bb65a4 |
| 08-May-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use range loop.
llvm-svn: 208346
|
#
35907d8e |
| 29-Apr-2014 |
David Blaikie <dblaikie@gmail.com> |
Fix MSVC build broken by r207580
Seems MSVC wants to be able to codegen inline-definitions of virtual functions even in TUs that don't define the key function - and it's well within its rights to do
Fix MSVC build broken by r207580
Seems MSVC wants to be able to codegen inline-definitions of virtual functions even in TUs that don't define the key function - and it's well within its rights to do so.
llvm-svn: 207581
show more ...
|
Revision tags: llvmorg-3.4.1, llvmorg-3.4.1-rc2 |
|
#
f58e376d |
| 22-Apr-2014 |
Chandler Carruth <chandlerc@gmail.com> |
[Modules] Fix potential ODR violations by sinking the DEBUG_TYPE definition below all the header #include lines. This updates most of the miscellaneous other lib/... directories. A few left though.
[Modules] Fix potential ODR violations by sinking the DEBUG_TYPE definition below all the header #include lines. This updates most of the miscellaneous other lib/... directories. A few left though.
llvm-svn: 206845
show more ...
|
#
bc876017 |
| 18-Apr-2014 |
Lang Hames <lhames@gmail.com> |
[ExecutionEngine] Allow JIT clients to enable/disable module verification.
Previously module verification was always enabled, with no way to turn it off. As of this commit, module verification is on
[ExecutionEngine] Allow JIT clients to enable/disable module verification.
Previously module verification was always enabled, with no way to turn it off. As of this commit, module verification is on by default in Debug builds, and off by default in release builds. The default behaviour can be overridden by calling setVerifyModules(bool) on the JIT instance (this works for both the old JIT, and MCJIT).
<rdar://problem/16150008>
llvm-svn: 206561
show more ...
|
#
2617dcce |
| 15-Apr-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr.
llvm-svn: 206252
|
Revision tags: llvmorg-3.4.1-rc1 |
|
#
b51ff603 |
| 08-Mar-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++11] Add 'override' keyword to virtual methods that override their base class.
llvm-svn: 203344
|
#
56440fd8 |
| 06-Mar-2014 |
Ahmed Charles <ahmedcharles@gmail.com> |
Replace OwningPtr<T> with std::unique_ptr<T>.
This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which ha
Replace OwningPtr<T> with std::unique_ptr<T>.
This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which have OwningPtr's as parameters. This should allow out of tree projects some time to move. There are also no changes to libs/Target, which should help out of tree targets have time to move, if necessary.
llvm-svn: 203083
show more ...
|