X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fauxiliary%2Fgallivm%2Flp_bld_init.h;h=7edea616c4e96f92b293187716e8e74bd3830d42;hb=427d36a22741890a7ce55b6b5bcd40fd4bdd2d35;hp=f68bf75a8515df54506f97430b8ff914c84bacb1;hpb=efc82aef35a2aac5d2ed9774f6d28f2626796416;p=mesa.git diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.h b/src/gallium/auxiliary/gallivm/lp_bld_init.h index f68bf75a851..7edea616c4e 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_init.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_init.h @@ -31,6 +31,7 @@ #include "pipe/p_compiler.h" +#include "util/u_pointer.h" // for func_pointer #include "lp_bld.h" #include @@ -44,6 +45,7 @@ struct gallivm_state LLVMPassManagerRef passmgr; LLVMContextRef context; LLVMBuilderRef builder; + unsigned compiled; }; @@ -51,35 +53,35 @@ void lp_build_init(void); -extern void -lp_func_delete_body(LLVMValueRef func); - +struct gallivm_state * +gallivm_create(void); void -gallivm_garbage_collect(struct gallivm_state *gallivm); - +gallivm_destroy(struct gallivm_state *gallivm); -typedef void (*garbage_collect_callback_func)(void *cb_data); void -gallivm_register_garbage_collector_callback(garbage_collect_callback_func func, - void *cb_data); +gallivm_verify_function(struct gallivm_state *gallivm, + LLVMValueRef func); void -gallivm_remove_garbage_collector_callback(garbage_collect_callback_func func, - void *cb_data); - +gallivm_compile_module(struct gallivm_state *gallivm); -struct gallivm_state * -gallivm_create(void); +func_pointer +gallivm_jit_function(struct gallivm_state *gallivm, + LLVMValueRef func); void -gallivm_destroy(struct gallivm_state *gallivm); +gallivm_free_function(struct gallivm_state *gallivm, + LLVMValueRef func, + const void * code); +void +lp_set_load_alignment(LLVMValueRef Inst, + unsigned Align); -extern LLVMValueRef -lp_build_load_volatile(LLVMBuilderRef B, LLVMValueRef PointerVal, - const char *Name); - +void +lp_set_store_alignment(LLVMValueRef Inst, + unsigned Align); #endif /* !LP_BLD_INIT_H */