diff options
Diffstat (limited to 'src/amd/common/ac_llvm_util.h')
-rw-r--r-- | src/amd/common/ac_llvm_util.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/amd/common/ac_llvm_util.h b/src/amd/common/ac_llvm_util.h index 93d3d27cae0..4fe4ab4168b 100644 --- a/src/amd/common/ac_llvm_util.h +++ b/src/amd/common/ac_llvm_util.h @@ -41,20 +41,21 @@ enum ac_func_attr { AC_FUNC_ATTR_NOUNWIND = (1 << 4), AC_FUNC_ATTR_READNONE = (1 << 5), AC_FUNC_ATTR_READONLY = (1 << 6), + + /* Legacy intrinsic that needs attributes on function declarations + * and they must match the internal LLVM definition exactly, otherwise + * intrinsic selection fails. + */ + AC_FUNC_ATTR_LEGACY = (1u << 31), }; LLVMTargetMachineRef ac_create_target_machine(enum radeon_family family, bool supports_spill); void ac_add_attr_dereferenceable(LLVMValueRef val, uint64_t bytes); bool ac_is_sgpr_param(LLVMValueRef param); - -void -ac_add_function_attr(LLVMValueRef function, - int attr_idx, - enum ac_func_attr attr); - -void -ac_dump_module(LLVMModuleRef module); +void ac_add_func_attributes(LLVMContextRef ctx, LLVMValueRef function, + unsigned attrib_mask); +void ac_dump_module(LLVMModuleRef module); #ifdef __cplusplus } |