ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
Loading...
Searching...
No Matches
LLVMJITLIB.cpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-3-Clause
2//
3// This file is part of ETISS. It is licensed under the BSD 3-Clause License; you may not use this file except in
4// compliance with the License. You should have received a copy of the license along with this project. If not, see the
5// LICENSE file.
6
7#define ETISS_LIBNAME LLVMJIT
9
10#include "LLVMJIT.h"
11
12#include <iostream>
13
14// implement etiss library interface
15extern "C"
16{
17
18 const char *LLVMJIT_versionInfo()
19 {
20 return "3.4.2for0.4";
21 }
22
23 // implement version function
25
27 {
28 return 1;
29 }
30 const char *LLVMJIT_nameJIT(unsigned index)
31 {
32 switch (index)
33 {
34 case 0:
35 return "LLVMJIT";
36 default:
37 return 0;
38 }
39 }
40 etiss::JIT *LLVMJIT_createJIT(unsigned index, std::map<std::string, std::string> options)
41 {
42 switch (index)
43 {
44 case 0:
45 return new etiss::LLVMJIT();
46 default:
47 return 0;
48 }
49 }
50
52 {
53 delete o;
54 }
55}
ETISS_PLUGIN_EXPORT etiss::CPUArch std::map< std::string, std::string > options
create new instance of the CPUArch type at index
defines the functions needed for a library that provides etiss::JIT implementations
const char * LLVMJIT_versionInfo()
ETISS_LIBRARYIF_VERSION_FUNC_IMPL unsigned LLVMJIT_countJIT()
const char * LLVMJIT_nameJIT(unsigned index)
etiss::JIT * LLVMJIT_createJIT(unsigned index, std::map< std::string, std::string > options)
void LLVMJIT_deleteJIT(etiss::JIT *o)
compiler interface for just in time compilation of generated C code
Definition JIT.h:29
#define ETISS_LIBRARYIF_VERSION_FUNC_IMPL
Definition Misc.h:47