5 #ifndef __MONO_MINI_LLVM_H__
6 #define __MONO_MINI_LLVM_H__
9 #include "aot-runtime.h"
14 LLVM_MODULE_FLAG_STATIC
= (1 << 0),
15 LLVM_MODULE_FLAG_LLVM_ONLY
= (1 << 1),
16 LLVM_MODULE_FLAG_DWARF
= (1 << 2),
17 LLVM_MODULE_FLAG_CODEVIEW
= (1 << 3),
18 LLVM_MODULE_FLAG_INTERP
= (1 << 4)
21 /* KEEP THIS IN SYNCH WITH mini-llvm-loaded.c */
22 void mono_llvm_init (void) MONO_LLVM_INTERNAL
;
23 void mono_llvm_cleanup (void) MONO_LLVM_INTERNAL
;
24 void mono_llvm_emit_method (MonoCompile
*cfg
) MONO_LLVM_INTERNAL
;
25 void mono_llvm_emit_call (MonoCompile
*cfg
, MonoCallInst
*call
) MONO_LLVM_INTERNAL
;
26 void mono_llvm_create_aot_module (MonoAssembly
*assembly
, const char *global_prefix
, int initial_got_size
, LLVMModuleFlags flags
) MONO_LLVM_INTERNAL
;
27 void mono_llvm_emit_aot_module (const char *filename
, const char *cu_name
) MONO_LLVM_INTERNAL
;
28 void mono_llvm_emit_aot_file_info (MonoAotFileInfo
*info
, gboolean has_jitted_code
) MONO_LLVM_INTERNAL
;
29 void mono_llvm_emit_aot_data (const char *symbol
, guint8
*data
, int data_len
) MONO_LLVM_INTERNAL
;
30 void mono_llvm_check_method_supported (MonoCompile
*cfg
) MONO_LLVM_INTERNAL
;
31 void mono_llvm_free_domain_info (MonoDomain
*domain
) MONO_LLVM_INTERNAL
;
32 MONO_API
void mono_personality (void);
33 int mono_llvm_load (const char* bpath
);
34 void mono_llvm_create_vars (MonoCompile
*cfg
) MONO_LLVM_INTERNAL
;
35 void mono_llvm_fixup_aot_module (void) MONO_LLVM_INTERNAL
;
37 gboolean
mini_llvm_init (void);