summaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-24 14:06:04 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-24 14:06:04 +0000
commitfcd2418b07cdd4737eeea874b53e4b2cb92275b1 (patch)
tree5a3a2b03662426369fa8a017f587e4b2dcac1063 /gcc/tree-cfg.c
parent417a0d6ce7b147cefce96e7cf83b5fe47b1d37fd (diff)
downloadgcc-fcd2418b07cdd4737eeea874b53e4b2cb92275b1.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100103 138bc75d-0d04-0410-961f-82ee72b054a4
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 9eeb7839287..0869edcadaa 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);
}