diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2010-12-01 17:24:47 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2010-12-01 17:24:47 +0000 |
commit | c8f91fcc343c32ab9441b8b4c41005351d65d0b6 (patch) | |
tree | 8f94eaf8f0022130c067b9545675aeeefbf6234c /gcc | |
parent | 247fd30e2072f59283bef3a3651903e06ce157ac (diff) | |
download | gcc-c8f91fcc343c32ab9441b8b4c41005351d65d0b6.zip gcc-c8f91fcc343c32ab9441b8b4c41005351d65d0b6.tar.gz gcc-c8f91fcc343c32ab9441b8b4c41005351d65d0b6.tar.bz2 |
Call recompute_tree_invariant_for_addr_expr when replacing a constant in an ADDR_EXPR.
2010-11-22 Sebastian Pop <sebastian.pop@amd.com>
* sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr
when replacing a constant in an ADDR_EXPR.
From-SVN: r167346
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ChangeLog.graphite | 5 | ||||
-rw-r--r-- | gcc/sese.c | 13 |
3 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8e76b89..9cd9e13 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2010-12-01 Sebastian Pop <sebastian.pop@amd.com> + * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr + when replacing a constant in an ADDR_EXPR. + +2010-12-01 Sebastian Pop <sebastian.pop@amd.com> + * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter for the stride. (lst_do_strip_mine): Same. diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index a205928..1746711 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,3 +1,8 @@ +2010-11-22 Sebastian Pop <sebastian.pop@amd.com> + + * sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr + when replacing a constant in an ADDR_EXPR. + 2010-10-20 Sebastian Pop <sebastian.pop@amd.com> * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter @@ -546,6 +546,19 @@ rename_uses (gimple copy, htab_t rename_map, gimple_stmt_iterator *gsi_tgt, true, NULL_TREE); gsi_insert_seq_before (gsi_tgt, stmts, GSI_SAME_STMT); replace_exp (use_p, new_expr); + + + if (TREE_CODE (new_expr) == INTEGER_CST) + { + tree lhs = gimple_assign_lhs (copy); + tree rhs = gimple_assign_rhs1 (copy); + + if (TREE_CODE (lhs) == ADDR_EXPR) + recompute_tree_invariant_for_addr_expr (lhs); + if (TREE_CODE (rhs) == ADDR_EXPR) + recompute_tree_invariant_for_addr_expr (rhs); + } + set_rename (rename_map, old_name, new_expr); } } |