diff options
author | Tom Stellard <[email protected]> | 2016-11-07 18:35:09 +0000 |
---|---|---|
committer | Tom Stellard <[email protected]> | 2016-11-09 20:13:27 +0000 |
commit | 8bdd52c8f3595128cbc1da4f23cdb10ff861a6ef (patch) | |
tree | 559ecc6a07fac37950cbb95c95860d28162cb784 /src/gallium/auxiliary/gallivm/lp_bld_intr.h | |
parent | fb50245ac1e1eb60b2451d9d6dd05388cb89634a (diff) |
gallivm: Fix build after removal of deprecated attribute API v3
v2:
Fix adding parameter attributes with LLVM < 4.0.
v3:
Fix typo.
Fix parameter index.
Add a gallivm enum for function attributes.
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/gallivm/lp_bld_intr.h')
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_intr.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_intr.h b/src/gallium/auxiliary/gallivm/lp_bld_intr.h index 7d80ac28f70..f1e075a9b9b 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_intr.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_intr.h @@ -46,6 +46,16 @@ */ #define LP_MAX_FUNC_ARGS 32 +enum lp_func_attr { + LP_FUNC_ATTR_ALWAYSINLINE = (1 << 0), + LP_FUNC_ATTR_BYVAL = (1 << 1), + LP_FUNC_ATTR_INREG = (1 << 2), + LP_FUNC_ATTR_NOALIAS = (1 << 3), + LP_FUNC_ATTR_NOUNWIND = (1 << 4), + LP_FUNC_ATTR_READNONE = (1 << 5), + LP_FUNC_ATTR_READONLY = (1 << 6), + LP_FUNC_ATTR_LAST = (1 << 7) +}; void lp_format_intrinsic(char *name, @@ -60,13 +70,18 @@ lp_declare_intrinsic(LLVMModuleRef module, LLVMTypeRef *arg_types, unsigned num_args); +void +lp_add_function_attr(LLVMValueRef function, + int attr_idx, + enum lp_func_attr attr); + LLVMValueRef lp_build_intrinsic(LLVMBuilderRef builder, const char *name, LLVMTypeRef ret_type, LLVMValueRef *args, unsigned num_args, - LLVMAttribute attr); + unsigned attr_mask); LLVMValueRef |