From: Daniel Berlin Date: Tue, 9 May 2006 01:28:47 +0000 (+0000) Subject: re PR tree-optimization/27093 (verify_ssa failed: definition does not dominate use) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=74be08f84e9f991cc101c8881ef6863e8dddd335;p=gcc.git re PR tree-optimization/27093 (verify_ssa failed: definition does not dominate use) 2006-05-08 Daniel Berlin 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 242e6244bf4..bc786cdc7b8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-05-08 Daniel Berlin + + 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 * 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 PR tree-optimization/27136 diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index 4e8b5a4374a..9d5f145565b 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -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; }