re PR tree-optimization/27093 (verify_ssa failed: definition does not dominate use)
authorDaniel Berlin <dberlin@gcc.gnu.org>
Tue, 9 May 2006 01:28:47 +0000 (01:28 +0000)
committerDaniel Berlin <dberlin@gcc.gnu.org>
Tue, 9 May 2006 01:28:47 +0000 (01:28 +0000)
2006-05-08  Daniel Berlin  <dberlin@dberlin.org>

Fix PR tree-optimization/27093
* tree-ssa-alias.c (recalculate_used_alone): Mark variables for
renaming when they become not-used_alone.

From-SVN: r113641

gcc/ChangeLog
gcc/tree-ssa-alias.c

index 242e6244bf443c53f6c96f05cc626207350a7602..bc786cdc7b8a15da9a03f4c94f41d87ef56b510f 100644 (file)
@@ -1,3 +1,9 @@
+2006-05-08  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/27093
+       * tree-ssa-alias.c (recalculate_used_alone): Mark variables for 
+       renaming when they become not-used_alone.
+
 2006-05-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
@@ -58,6 +64,7 @@
        * tree-ssa-structalias.c (get_constraint_for_component_ref):
        Do not try to find zero-sized subvars.
 
+>>>>>>> .r113631
 2006-05-07  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/27136
index 4e8b5a4374ad1bb478967d98cf9c6117f0752529..9d5f145565b1529e72afffd3c80be9468cdd8b91 100644 (file)
@@ -522,6 +522,17 @@ recalculate_used_alone (void)
       for (i = 0; VEC_iterate (tree, calls, i, stmt); i++)
        update_stmt (stmt);
     }
+  
+  /* We need to mark SMT's that are no longer used for renaming so the
+     symbols go away, or else verification will be angry with us, even
+     though they are dead.  */
+  FOR_EACH_REFERENCED_VAR (var, rvi)
+    if (TREE_CODE (var) == SYMBOL_MEMORY_TAG)
+      {
+       if (SMT_OLD_USED_ALONE (var) && !SMT_USED_ALONE (var))
+         mark_sym_for_renaming (var);
+      }
+
   VEC_free (tree, heap, calls);
   updating_used_alone = false;
 }