From 750c7ebd709ae7ae66634e5d5a7d928b6f56bfa5 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 19 Dec 2017 21:49:20 +0000 Subject: [PATCH] Fix sharing in translate_isl_ast_node_for 2017-12-19 Tom de Vries PR tree-optimization/83493 * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_for): Unshare ub and lb. From-SVN: r255842 --- gcc/ChangeLog | 6 ++++++ gcc/graphite-isl-ast-to-gimple.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 39b102f..7e803a3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-12-19 Tom de Vries + + PR tree-optimization/83493 + * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_for): Unshare ub + and lb. + 2017-12-19 Jakub Jelinek * gimple-ssa-sprintf.c (format_directive): Use inform_n instead of diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c index 848bfe9..b020b2d 100644 --- a/gcc/graphite-isl-ast-to-gimple.c +++ b/gcc/graphite-isl-ast-to-gimple.c @@ -739,10 +739,10 @@ translate_isl_ast_node_for (loop_p context_loop, __isl_keep isl_ast_node *node, as expected. */ tree ub_one = fold_build2 (POINTER_TYPE_P (type) ? POINTER_PLUS_EXPR : PLUS_EXPR, - type, ub, one); + type, unshare_expr (ub), one); create_empty_if_region_on_edge (next_e, fold_build2 (LT_EXPR, boolean_type_node, - lb, ub_one)); + unshare_expr (lb), ub_one)); next_e = get_true_edge_from_guard_bb (next_e->dest); } -- 2.7.4