#include "llvm-c/Core.h"
#include "llvm-c/ExecutionEngine.h"
+#include <unwind.h>
+
G_BEGIN_DECLS
/*
LLVMValueRef
mono_llvm_build_load (LLVMBuilderRef builder, LLVMValueRef PointerVal,
- const char *Name, gboolean is_volatile);
+ const char *Name, gboolean is_volatile, BarrierKind barrier);
LLVMValueRef
mono_llvm_build_aligned_load (LLVMBuilderRef builder, LLVMValueRef PointerVal,
LLVMValueRef
mono_llvm_build_store (LLVMBuilderRef builder, LLVMValueRef Val, LLVMValueRef PointerVal,
- gboolean is_volatile);
+ gboolean is_volatile, BarrierKind kind);
LLVMValueRef
mono_llvm_build_aligned_store (LLVMBuilderRef builder, LLVMValueRef Val, LLVMValueRef PointerVal,
LLVMValueRef
mono_llvm_build_cmpxchg (LLVMBuilderRef builder, LLVMValueRef addr, LLVMValueRef comparand, LLVMValueRef value);
+void
+mono_llvm_set_must_tail (LLVMValueRef call_ins);
+
+LLVMValueRef
+mono_llvm_create_constant_data_array (const uint8_t *data, int len);
+
+void
+mono_llvm_set_is_constant (LLVMValueRef global_var);
+
+void
+mono_llvm_set_preserveall_cc (LLVMValueRef func);
+
+void
+mono_llvm_set_call_preserveall_cc (LLVMValueRef call);
+
+_Unwind_Reason_Code
+mono_debug_personality (int a, _Unwind_Action b,
+ uint64_t c, struct _Unwind_Exception *d, struct _Unwind_Context *e);
+
+void
+mono_llvm_set_unhandled_exception_handler (void);
+
+void
+default_mono_llvm_unhandled_exception (void);
+
+void*
+mono_llvm_create_di_builder (LLVMModuleRef module);
+
+void*
+mono_llvm_di_create_function (void *di_builder, void *cu, const char *name, const char *mangled_name, const char *dir, const char *file, int line);
+
+void*
+mono_llvm_di_create_compile_unit (void *di_builder, const char *cu_name, const char *dir, const char *producer);
+
+void*
+mono_llvm_di_create_file (void *di_builder, const char *dir, const char *file);
+
+void*
+mono_llvm_di_create_location (void *di_builder, void *scope, int row, int column);
+
+void
+mono_llvm_di_builder_finalize (void *di_builder);
+
+void
+mono_llvm_di_set_location (LLVMBuilderRef builder, void *loc_md);
+
G_END_DECLS
#endif /* __MONO_MINI_LLVM_CPP_H__ */