http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51125
Aldy Hernandez <aldyh at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2011-11-18 CC| |aldyh at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #4 from Aldy Hernandez <aldyh at gcc dot gnu.org> 2011-11-18 21:12:01 UTC --- Michael. This regression was caused by the following patch. Perhaps the reason nobody caught it was because it came 5 hours after the transactional-memory branch was merged, perhaps too close for everyone to have re-tested their patches. Do you mind taking a look at this? r181172 | matz | 2011-11-08 10:47:16 -0600 (Tue, 08 Nov 2011) | 44 lines * gengtype.c (write_field_root): Avoid out-of-scope access of newv. * tree-stdarg.c (execute_optimize_stdarg): Accept clobbers. * tree.h (TREE_CLOBBER_P): New macro. * gimple.h (gimple_clobber_p): New inline function. * gimplify.c (gimplify_bind_expr): Add clobbers for all variables that go out of scope and live in memory. * tree-ssa-operands.c (get_expr_operands): Transfer volatility also for constructors. * cfgexpand.c (decl_to_stack_part): New static variable. (add_stack_var): Allocate it, and remember mapping. (fini_vars_expansion): Deallocate it. (stack_var_conflict_p): Add early outs. (visit_op, visit_conflict, add_scope_conflicts_1, add_scope_conflicts): New static functions. (expand_used_vars_for_block): Don't call add_stack_var_conflict, tidy. (expand_used_vars): Add scope conflicts. (expand_gimple_stmt_1): Expand clobbers to nothing. (expand_debug_expr): Ditto.