#
0c778f70 |
| 29-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
add interpreter support for indirect goto / blockaddress. The interpreter now correctly runs clang's test/CodeGen/indirect-goto.c. The JIT will abort on it until someone feels compelled to implemen
add interpreter support for indirect goto / blockaddress. The interpreter now correctly runs clang's test/CodeGen/indirect-goto.c. The JIT will abort on it until someone feels compelled to implement this.
llvm-svn: 85488
show more ...
|
#
4567db45 |
| 27-Oct-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Change the JIT to compile eagerly by default as agreed in http://llvm.org/PR5184, and beef up the comments to describe what both options do and the risks of lazy compilation in the presence of thread
Change the JIT to compile eagerly by default as agreed in http://llvm.org/PR5184, and beef up the comments to describe what both options do and the risks of lazy compilation in the presence of threads.
llvm-svn: 85295
show more ...
|
Revision tags: llvmorg-2.6.0 |
|
#
d0fc8f80 |
| 23-Oct-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Fix http://llvm.org/PR4822: allow module deletion after a function has been compiled.
When functions are compiled, they accumulate references in the JITResolver's stub maps. This patch removes those
Fix http://llvm.org/PR4822: allow module deletion after a function has been compiled.
When functions are compiled, they accumulate references in the JITResolver's stub maps. This patch removes those references when the functions are destroyed. It's illegal to destroy a Function when any thread may still try to call its machine code.
This patch also updates r83987 to use ValueMap instead of explicit CallbackVHs and fixes a couple "do stuff inside assert()" bugs from r84522.
llvm-svn: 84975
show more ...
|
#
f98e981c |
| 13-Oct-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Make the ExecutionEngine automatically remove global mappings on when their GlobalValue is destroyed. Function destruction still leaks machine code and can crash on leaked stubs, but this is some pr
Make the ExecutionEngine automatically remove global mappings on when their GlobalValue is destroyed. Function destruction still leaks machine code and can crash on leaked stubs, but this is some progress.
llvm-svn: 83987
show more ...
|
#
307c053f |
| 09-Oct-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
ExecutionEngine::clearGlobalMappingsFromModule failed to remove reverse mappings, which could cause errors and assert-failures. This patch fixes that, adds a test, and refactors the global-mapping-r
ExecutionEngine::clearGlobalMappingsFromModule failed to remove reverse mappings, which could cause errors and assert-failures. This patch fixes that, adds a test, and refactors the global-mapping-removal code into a single place.
llvm-svn: 83678
show more ...
|
#
9ed7b16b |
| 06-Oct-2009 |
Duncan Sands <baldrick@free.fr> |
Introduce and use convenience methods for getting pointer types where the element is of a basic builtin type. For example, to get an i8* use getInt8PtrTy.
llvm-svn: 83379
|
#
fdd87907 |
| 05-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
strength reduce a ton of type equality tests to check the typeid (Through the new predicates I added) instead of going through a context and doing a pointer comparison. Besides being cheaper, this a
strength reduce a ton of type equality tests to check the typeid (Through the new predicates I added) instead of going through a context and doing a pointer comparison. Besides being cheaper, this allows a smart compiler to turn the if sequence into a switch.
llvm-svn: 83297
show more ...
|
#
8bcc6445 |
| 23-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
errorstr can be null, don't unconditionally set it. Only report that "the jit has not been linked in" if the interpreter failed.
This fixes a unit test failure.
llvm-svn: 82601
|
#
41fa2bd1 |
| 23-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
Make EngineBuilder return more error codes, by KS Sreeram.
llvm-svn: 82600
|
#
f6f5b5bc |
| 23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
just remove interpreter support for endianness mismatches. This was really old code from when we were running sparcv9 bc files on x86 (before I ported llvm-gcc 3 to work on x86) :)
llvm-svn: 79871
|
#
390d78b3 |
| 23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
remove use of alloca.h
llvm-svn: 79870
|
#
4dc3edde |
| 23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
remove a few DOUTs here and there.
llvm-svn: 79832
|
#
3924bb57 |
| 23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
remove the std::ostream version of module and type printing.
llvm-svn: 79823
|
#
55f1c09e |
| 13-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Push LLVMContexts through the IntegerType APIs.
llvm-svn: 78948
|
#
6bf87df5 |
| 07-Aug-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
To catch bugs like the one fixed in http://llvm.org/viewvc/llvm-project?view=rev&revision=78127, I'm changing the ExecutionEngine's global mappings to hold AssertingVH<const GlobalValue>. That way, i
To catch bugs like the one fixed in http://llvm.org/viewvc/llvm-project?view=rev&revision=78127, I'm changing the ExecutionEngine's global mappings to hold AssertingVH<const GlobalValue>. That way, if unregistering a mapping fails to actually unregister it, we'll get an assert. Running the jit nightly tests didn't uncover any actual instances of the problem.
This also uncovered the fact that AssertingVH<const X> didn't work, so I fixed that too.
llvm-svn: 78400
show more ...
|
#
337b124a |
| 04-Aug-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Make ExecutionEngine::updateGlobalMapping(GV, NULL) properly remove GV's old address from the reverse mapping, and add a test that this works now.
llvm-svn: 78127
|
#
9813b0b0 |
| 26-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Eliminate some uses of DOUT, cerr, and getNameStart().
llvm-svn: 77145
|
#
5899e340 |
| 21-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Simplify / normalize some uses of Value::getName.
llvm-svn: 76553
|
#
fc8a2d5a |
| 18-Jul-2009 |
Reid Kleckner <reid@kleckner.net> |
Add EngineBuilder to ExecutionEngine in favor of the five optional argument EE::create().
Also a test commit.
llvm-svn: 76276
|
#
fbcc663c |
| 14-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location i
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed").
llvm-svn: 75640
show more ...
|
#
56d06597 |
| 11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
assert(0) -> LLVM_UNREACHABLE. Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG bu
assert(0) -> LLVM_UNREACHABLE. Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds.
llvm-svn: 75379
show more ...
|
#
ccb29cd2 |
| 11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
Convert more assert(0)+abort() -> LLVM_UNREACHABLE, and abort()/exit() -> llvm_report_error().
llvm-svn: 75363
|
#
70415d97 |
| 08-Jul-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Add an option to allocate JITed global data separately from code. By default, this option is not enabled to support clients who rely on this behavior.
Fixes http://llvm.org/PR4483
A patch to alloc
Add an option to allocate JITed global data separately from code. By default, this option is not enabled to support clients who rely on this behavior.
Fixes http://llvm.org/PR4483
A patch to allocate additional memory for globals after we run out is forthcoming.
Patch by Reid Kleckner!
llvm-svn: 75059
show more ...
|
#
6c2d233e |
| 07-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
Introduce new error handling API. This will replace exit()/abort() style error handling with an API that allows clients to register custom error handling hooks. The default is to call exit(1) when no
Introduce new error handling API. This will replace exit()/abort() style error handling with an API that allows clients to register custom error handling hooks. The default is to call exit(1) when no error handler is provided.
llvm-svn: 74922
show more ...
|
#
a5b9645c |
| 04-Jun-2009 |
Dan Gohman <gohman@apple.com> |
Split the Add, Sub, and Mul instruction opcodes into separate integer and floating-point opcodes, introducing FAdd, FSub, and FMul.
For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
Split the Add, Sub, and Mul instruction opcodes into separate integer and floating-point opcodes, introducing FAdd, FSub, and FMul.
For now, the AsmParser, BitcodeReader, and IRBuilder all preserve backwards compatability, and the Core LLVM APIs preserve backwards compatibility for IR producers. Most front-ends won't need to change immediately.
This implements the first step of the plan outlined here: http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt
llvm-svn: 72897
show more ...
|