History log of /llvm-project/llvm/lib/ExecutionEngine/ExecutionEngine.cpp (Results 76 – 100 of 372)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


12345678910>>...15