[ was: Re: [PATCH] [graphite] handle missing isl_ast_expr ]
On 03/12/15 00:56, Tom de Vries wrote:
Hi,
This break the build for me, with isl 0.14.
...
src/gcc/graphite-isl-ast-to-gimple.c: In member function ‘tree_node*
translate_isl_ast_to_gimple::binary_op_to_tree(tree, isl_ast_expr*,
ivs_params&)’:
src/gcc/graphite-isl-ast-to-gimple.c:591:10: error: ‘isl_ast_op_zdiv_r’
was not declared in this scope
case isl_ast_op_zdiv_r:
^
...
Thanks,
- Tom
On 02/12/15 23:17, Sebastian Pop wrote:
From ISL's documentation, isl_ast_op_zdiv_r is equal to zero iff the
remainder
on integer division is zero. Code generate a modulo operation for that.
* graphite-isl-ast-to-gimple.c (binary_op_to_tree): Handle
isl_ast_op_zdiv_r.
(gcc_expression_from_isl_expr_op): Same.
* gcc.dg/graphite/id-28.c: New.
this patch fixes the build breaker with isl 0.14 for me. I'm using the
HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS macro (which is set for isl
0.15, and not before) to guard the code handling isl_ast_op_zdiv_r
(which I suppose is new in isl 0.15).
OK for trunk?
Thanks,
- Tom
Guard isl_ast_op_zdiv_r usage with HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
2015-12-03 Tom de Vries <t...@codesourcery.com>
* graphite-isl-ast-to-gimple.c (binary_op_to_tree)
(gcc_expression_from_isl_expr_op): Guard isl_ast_op_zdiv_r usage with
HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
---
gcc/graphite-isl-ast-to-gimple.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
index 06a2062..20eb80f 100644
--- a/gcc/graphite-isl-ast-to-gimple.c
+++ b/gcc/graphite-isl-ast-to-gimple.c
@@ -588,7 +588,9 @@ binary_op_to_tree (tree type, __isl_take isl_ast_expr *expr, ivs_params &ip)
}
return fold_build2 (TRUNC_DIV_EXPR, type, tree_lhs_expr, tree_rhs_expr);
+#if HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
case isl_ast_op_zdiv_r:
+#endif
case isl_ast_op_pdiv_r:
/* As ISL operates on arbitrary precision numbers, we may end up with
division by 2^64 that is folded to 0. */
@@ -759,7 +761,9 @@ gcc_expression_from_isl_expr_op (tree type, __isl_take isl_ast_expr *expr,
case isl_ast_op_pdiv_q:
case isl_ast_op_pdiv_r:
case isl_ast_op_fdiv_q:
+#if HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
case isl_ast_op_zdiv_r:
+#endif
case isl_ast_op_and:
case isl_ast_op_or:
case isl_ast_op_eq: