1 | /*===------- llvm-c/LLJITUtils.h - Advanced LLJIT features --------*- C -*-===*\ |
2 | |* *| |
3 | |* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| |
4 | |* Exceptions. *| |
5 | |* See https://llvm.org/LICENSE.txt for license information. *| |
6 | |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| |
7 | |* *| |
8 | |*===----------------------------------------------------------------------===*| |
9 | |* *| |
10 | |* This header declares the C interface for extra utilities to be used with *| |
11 | |* the LLJIT class from the llvm-c/LLJIT.h header. It requires to following *| |
12 | |* link libraries in addition to libLLVMOrcJIT.a: *| |
13 | |* - libLLVMOrcDebugging.a *| |
14 | |* *| |
15 | |* Many exotic languages can interoperate with C code but have a harder time *| |
16 | |* with C++ due to name mangling. So in addition to C, this interface enables *| |
17 | |* tools written in such languages. *| |
18 | |* *| |
19 | |* Note: This interface is experimental. It is *NOT* stable, and may be *| |
20 | |* changed without warning. Only C API usage documentation is *| |
21 | |* provided. See the C++ documentation for all higher level ORC API *| |
22 | |* details. *| |
23 | |* *| |
24 | \*===----------------------------------------------------------------------===*/ |
25 | |
26 | #ifndef LLVM_C_LLJITUTILS_H |
27 | #define LLVM_C_LLJITUTILS_H |
28 | |
29 | #include "llvm-c/LLJIT.h" |
30 | |
31 | LLVM_C_EXTERN_C_BEGIN |
32 | |
33 | /** |
34 | * @defgroup LLVMCExecutionEngineLLJITUtils LLJIT Utilities |
35 | * @ingroup LLVMCExecutionEngineLLJIT |
36 | * |
37 | * @{ |
38 | */ |
39 | |
40 | /** |
41 | * Install the plugin that submits debug objects to the executor. Executors must |
42 | * expose the llvm_orc_registerJITLoaderGDBWrapper symbol. |
43 | */ |
44 | LLVMErrorRef LLVMOrcLLJITEnableDebugSupport(LLVMOrcLLJITRef J); |
45 | |
46 | /** |
47 | * @} |
48 | */ |
49 | |
50 | LLVM_C_EXTERN_C_END |
51 | |
52 | #endif /* LLVM_C_LLJITUTILS_H */ |
53 | |