summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/gallivm/lp_bld_intr.h
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2016-11-07 18:35:09 +0000
committerTom Stellard <[email protected]>2016-11-09 20:13:27 +0000
commit8bdd52c8f3595128cbc1da4f23cdb10ff861a6ef (patch)
tree559ecc6a07fac37950cbb95c95860d28162cb784 /src/gallium/auxiliary/gallivm/lp_bld_intr.h
parentfb50245ac1e1eb60b2451d9d6dd05388cb89634a (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.h17
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