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
declarations for constants until...
(dw2_output_indirect_constant_1): ... this point.
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))
{