------- Additional Comments From pinskia at gcc dot gnu dot org  2005-05-18 
22:02 -------
Index: tree-ssa-forwprop.c
===============================================================
====
RCS file: /cvs/gcc/gcc/gcc/tree-ssa-forwprop.c,v
retrieving revision 2.17
diff -u -p -r2.17 tree-ssa-forwprop.c
--- tree-ssa-forwprop.c 18 May 2005 16:49:49 -0000      2.17
+++ tree-ssa-forwprop.c 18 May 2005 22:02:21 -0000
@@ -495,6 +495,7 @@ forward_propagate_addr_into_variable_arr
   /* Replace the pointer addition with array indexing.  */
   TREE_OPERAND (use_stmt, 1) = unshare_expr (TREE_OPERAND (stmt, 1));
   TREE_OPERAND (TREE_OPERAND (TREE_OPERAND (use_stmt, 1), 0), 1) = index;
+  recompute_tree_invarant_for_addr_expr (TREE_OPERAND (use_stmt, 1));
 
   /* That should have created gimple, so there is no need to
      record information to undo the propagation.  */
@@ -623,6 +624,8 @@ forward_propagate_addr_expr (tree stmt)
        {
          mark_new_vars_to_rename (use_stmt);
          update_stmt (use_stmt);
+         if (TREE_CODE (rhs) == ADDR_EXPR)
+           recompute_tree_invarant_for_addr_expr (rhs);
          return true;
        }
       else


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21638

Reply via email to