cling/test
Vassil Vassilev fa7c45b1ca Orc JIT now takes the ownership of the llvm::Module.
The old JIT infrastructure assumed shared ownership of the llvm::Module
implemented via shared_ptr. This guaranteed each client can have a uniform
view of the llvm::Module. The new infrastructure claims ownership of the object
and even more transfer ownership when the llvm::Module travels through different
layers of the JIT. The claimed advantage is better thread safety.

The new logic defines away an important property which cling has been built
around, that is the shared symbol object ownership.

This patch makes the cling::Transaction the owner of the llvm::Module. The
ownership is transfered when we want the JIT to 'emit' the module. Fortunately,
there is a JIT callback which can transfer back the ownership to the transaction.

This preserves some consistency, however, makes some operations unsafe. For
example, we cannot rely on Transaction::getModule when the module is being
handed to the JIT.

This patch tries to adapt to the new infrastructure by reducing the dependency
on the transaction's llvm::Module in favor of relying more on the information
available in the execution engine (eg. at_exit handling).
2021-02-25 20:44:17 +01:00
..
Autoloading Remove fwddecl files; RUN: often fails. 2020-08-12 09:14:07 +02:00
CodeGeneration Allows to configure CUDA sm level for Cling CUDA tests 2021-02-18 09:29:04 +01:00
CodeUnloading added missing include in cling/test/CodeUnloading/DeclShadowing.C 2020-12-16 18:29:03 +01:00
CUDADeviceCode Allows to configure CUDA sm level for Cling CUDA tests 2021-02-18 09:29:04 +01:00
Driver Allows to configure CUDA sm level for Cling CUDA tests 2021-02-18 09:29:04 +01:00
ErrorRecovery Report ValueExtractionSynthesizer errors with DiagnosticsEngine. 2020-08-20 09:44:06 +02:00
Extensions Windows: Fix various test failures. 2016-12-12 12:44:09 +01:00
Interfaces Replaced incremental PTX compiler with a internal implementation 2019-11-07 19:29:15 +01:00
LibraryCall Add CLING_EXPORT macro. 2016-12-12 12:44:09 +01:00
Lookup test lookup of template function specialization (ROOT-9789). 2019-01-10 13:29:15 +01:00
MultipleInterpreters Add cling output streams to cling/Utils/Output.h 2016-12-19 13:59:11 +01:00
NullDeref Remove .rawInput from a variety of tests to test unwrapped function input. 2016-09-05 12:44:13 +02:00
Plugins Allow plugins to handle custom pragmas. 2018-10-08 21:44:55 +02:00
Pragmas Orc JIT now takes the ownership of the llvm::Module. 2021-02-25 20:44:17 +01:00
Prompt Check for the expected diagnostics. 2021-02-25 20:44:17 +01:00
Recursion Reset function sections before JITting 2021-02-10 15:18:14 +01:00
SourceCall Remove .rawInput from a variety of tests to test unwrapped function input. 2016-09-05 12:44:13 +02:00
Utils Windows: Fix type printed for test/Utils/Transform.C 2017-06-21 08:29:10 +02:00
CMakeLists.txt Build clingDemoPlugin when testing. 2018-11-21 17:15:14 +01:00
lit.cfg Allows to configure CUDA sm level for Cling CUDA tests 2021-02-18 09:29:04 +01:00
lit.site.cfg.in Update cling's testsuite to use the newest llvm lit. 2013-09-27 14:33:04 +02:00