radv: Fix threading issue with submission refcounts.
[mesa.git] / src / amd / llvm / ac_llvm_util.h
index 00372476d8efa8d04296696bd1de42eb4f4f4dc8..622196081b4b5e6563ec05183530587e7541a83f 100644 (file)
@@ -64,13 +64,12 @@ enum ac_target_machine_options {
        AC_TM_CHECK_IR = (1 << 4),
        AC_TM_ENABLE_GLOBAL_ISEL = (1 << 5),
        AC_TM_CREATE_LOW_OPT = (1 << 6),
-       AC_TM_NO_LOAD_STORE_OPT = (1 << 7),
-       AC_TM_WAVE32 = (1 << 8),
+       AC_TM_WAVE32 = (1 << 7),
 };
 
 enum ac_float_mode {
        AC_FLOAT_MODE_DEFAULT,
-       AC_FLOAT_MODE_NO_SIGNED_ZEROS_FP_MATH,
+       AC_FLOAT_MODE_DEFAULT_OPENGL,
        AC_FLOAT_MODE_DENORM_FLUSH_TO_ZERO,
 };
 
@@ -96,6 +95,7 @@ struct ac_llvm_compiler {
 
 const char *ac_get_llvm_processor_name(enum radeon_family family);
 void ac_add_attr_dereferenceable(LLVMValueRef val, uint64_t bytes);
+void ac_add_attr_alignment(LLVMValueRef val, uint64_t bytes);
 bool ac_is_sgpr_param(LLVMValueRef param);
 void ac_add_function_attr(LLVMContextRef ctx, LLVMValueRef function,
                           int attr_idx, enum ac_func_attr attr);
@@ -109,6 +109,8 @@ LLVMModuleRef ac_create_module(LLVMTargetMachineRef tm, LLVMContextRef ctx);
 
 LLVMBuilderRef ac_create_builder(LLVMContextRef ctx,
                                 enum ac_float_mode float_mode);
+bool ac_disable_inexact_math(LLVMBuilderRef builder);
+void ac_restore_inexact_math(LLVMBuilderRef builder, bool value);
 
 void
 ac_llvm_add_target_dep_function_attr(LLVMValueRef F,
@@ -129,6 +131,7 @@ ac_count_scratch_private_memory(LLVMValueRef function);
 
 LLVMTargetLibraryInfoRef ac_create_target_library_info(const char *triple);
 void ac_dispose_target_library_info(LLVMTargetLibraryInfoRef library_info);
+void ac_init_shared_llvm_once(void); /* Do not use directly, use ac_init_llvm_once */
 void ac_init_llvm_once(void);