aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
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);
}