[gcc/]
* graphite-isl-ast-to-gimple.c: (binary_op_to_tree): Add calling of translate_isl_ast_node_block. (gcc_expression_from_isl_expr_op): Move isl_ast_op_pdiv_q, isl_ast_op_pdiv_r to the different case. [gcc/testsuite] * gcc.dg/graphite/isl-ast-gen-blocks-3.c: New testcase. From-SVN: r212990
This commit is contained in:
parent
25be91ac7e
commit
c4bc3399f7
@ -1,3 +1,12 @@
|
||||
2014-07-24 Roman Gareev <gareevroman@gmail.com>
|
||||
|
||||
* graphite-isl-ast-to-gimple.c:
|
||||
(binary_op_to_tree): Add calling of translate_isl_ast_node_block.
|
||||
(gcc_expression_from_isl_expr_op): Move isl_ast_op_pdiv_q,
|
||||
isl_ast_op_pdiv_r to the different case.
|
||||
|
||||
* gcc.dg/graphite/isl-ast-gen-blocks-3.c: New testcase.
|
||||
|
||||
2014-07-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
|
||||
PR middle-end/61876
|
||||
|
@ -186,6 +186,12 @@ binary_op_to_tree (tree type, __isl_take isl_ast_expr *expr, ivs_params &ip)
|
||||
case isl_ast_op_div:
|
||||
return fold_build2 (EXACT_DIV_EXPR, type, tree_lhs_expr, tree_rhs_expr);
|
||||
|
||||
case isl_ast_op_pdiv_q:
|
||||
return fold_build2 (TRUNC_DIV_EXPR, type, tree_lhs_expr, tree_rhs_expr);
|
||||
|
||||
case isl_ast_op_pdiv_r:
|
||||
return fold_build2 (TRUNC_MOD_EXPR, type, tree_lhs_expr, tree_rhs_expr);
|
||||
|
||||
case isl_ast_op_fdiv_q:
|
||||
return fold_build2 (FLOOR_DIV_EXPR, type, tree_lhs_expr, tree_rhs_expr);
|
||||
|
||||
@ -299,8 +305,6 @@ gcc_expression_from_isl_expr_op (tree type, __isl_take isl_ast_expr *expr,
|
||||
case isl_ast_op_call:
|
||||
case isl_ast_op_and_then:
|
||||
case isl_ast_op_or_else:
|
||||
case isl_ast_op_pdiv_q:
|
||||
case isl_ast_op_pdiv_r:
|
||||
case isl_ast_op_select:
|
||||
gcc_unreachable ();
|
||||
|
||||
@ -312,6 +316,8 @@ gcc_expression_from_isl_expr_op (tree type, __isl_take isl_ast_expr *expr,
|
||||
case isl_ast_op_sub:
|
||||
case isl_ast_op_mul:
|
||||
case isl_ast_op_div:
|
||||
case isl_ast_op_pdiv_q:
|
||||
case isl_ast_op_pdiv_r:
|
||||
case isl_ast_op_fdiv_q:
|
||||
case isl_ast_op_and:
|
||||
case isl_ast_op_or:
|
||||
|
27
gcc/testsuite/gcc.dg/graphite/isl-ast-gen-blocks-3.c
Normal file
27
gcc/testsuite/gcc.dg/graphite/isl-ast-gen-blocks-3.c
Normal file
@ -0,0 +1,27 @@
|
||||
/* { dg-do run } */
|
||||
/* { dg-options "-O2 -fgraphite-identity -fgraphite-code-generator=isl" } */
|
||||
|
||||
/* We use a global variable 'k' to avoid ipa-cp. */
|
||||
int k = 50;
|
||||
static int __attribute__((noinline))
|
||||
foo ()
|
||||
{
|
||||
int i, res = 0;
|
||||
for (i = k/2; i < k; i++)
|
||||
res += i;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
extern void abort ();
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
int res = foo ();
|
||||
|
||||
if (res != 925)
|
||||
abort ();
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user