diff options
author | romangareev <romangareev@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-07-24 13:35:27 +0000 |
---|---|---|
committer | romangareev <romangareev@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-07-24 13:35:27 +0000 |
commit | 3994abc45ba06b9d4337b39f7fbe75a6d2654e83 (patch) | |
tree | b96485ce9e2ff13f63b6643aae6ce0e8d2c3115b /gcc/graphite-isl-ast-to-gimple.c | |
parent | 85ca0839662a5a2df2d6c5973ac0835ce9843a5f (diff) | |
download | gcc-3994abc45ba06b9d4337b39f7fbe75a6d2654e83.tar.gz |
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212990 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/graphite-isl-ast-to-gimple.c')
-rw-r--r-- | gcc/graphite-isl-ast-to-gimple.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c index 6f58c7c600f..b42d3317a6f 100644 --- a/gcc/graphite-isl-ast-to-gimple.c +++ b/gcc/graphite-isl-ast-to-gimple.c @@ -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: |