tree-ssa-live.c (remove_unused_scope_block_p): Keep variables that have value exprs.

* tree-ssa-live.c (remove_unused_scope_block_p): Keep variables
that have value exprs.

From-SVN: r148161
This commit is contained in:
Alexandre Oliva 2009-06-04 05:52:03 +00:00 committed by Alexandre Oliva
parent 78bd9046a8
commit 2ce59df73d
2 changed files with 16 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2009-06-04 Alexandre Oliva <aoliva@redhat.com>
* tree-ssa-live.c (remove_unused_scope_block_p): Keep variables
that have value exprs.
2009-06-04 Alexandre Oliva <aoliva@redhat.com>
* dwarf2asm.c (dw2_force_const_mem): Defer creation of

View File

@ -435,6 +435,17 @@ remove_unused_scope_block_p (tree scope)
will be output to file. */
if (TREE_CODE (*t) == FUNCTION_DECL)
unused = false;
/* If a decl has a value expr, we need to instantiate it
regardless of debug info generation, to avoid codegen
differences in memory overlap tests. update_equiv_regs() may
indirectly call validate_equiv_mem() to test whether a
SET_DEST overlaps with others, and if the value expr changes
by virtual register instantiation, we may get end up with
different results. */
else if (TREE_CODE (*t) == VAR_DECL && DECL_HAS_VALUE_EXPR_P (*t))
unused = false;
/* Remove everything we don't generate debug info for. */
else if (DECL_IGNORED_P (*t))
{