aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2005-05-24 08:06:04 -0600
committerJeff Law <law@gcc.gnu.org>2005-05-24 08:06:04 -0600
commit9af0df6b3b0e5d0cd118e7cd92fa051cccc68adb (patch)
tree5a3a2b03662426369fa8a017f587e4b2dcac1063 /gcc/tree-cfg.c
parentb348d67cd08a3dfab508873bff3fe4597ae3e706 (diff)
downloadgcc-9af0df6b3b0e5d0cd118e7cd92fa051cccc68adb.zip
gcc-9af0df6b3b0e5d0cd118e7cd92fa051cccc68adb.tar.gz
gcc-9af0df6b3b0e5d0cd118e7cd92fa051cccc68adb.tar.bz2
Makefile.in (tree-cfg.o): Depend on tree-ssa-propagate.h.
* Makefile.in (tree-cfg.o): Depend on tree-ssa-propagate.h. * tree-cfg.c: Include tree-ssa-propagate.h. (replace_uses_by): Call recompute_tree_invarant_for_addr_expr as needed. From-SVN: r100103
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 9eeb783..0869edc 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -45,6 +45,7 @@ Boston, MA 02111-1307, USA. */
#include "cfgloop.h"
#include "cfglayout.h"
#include "hashtab.h"
+#include "tree-ssa-propagate.h"
/* This file contains functions for building the Control Flow Graph (CFG)
for a function tree. */
@@ -1364,7 +1365,14 @@ replace_uses_by (tree name, tree val)
and we would never process them. */
for (i = 0; VEC_iterate (tree, stmts, i, stmt); i++)
{
+ tree rhs;
+
fold_stmt_inplace (stmt);
+
+ rhs = get_rhs (stmt);
+ if (TREE_CODE (rhs) == ADDR_EXPR)
+ recompute_tree_invarant_for_addr_expr (rhs);
+
update_stmt (stmt);
}