http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52983
--- Comment #12 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-08-02 00:34:15 UTC --- Author: aoliva Date: Thu Aug 2 00:34:11 2012 New Revision: 190061 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190061 Log: PR debug/52983 * valtrack.h, valtrack.c: New. * Makefile.in (VALTRACK_H): New. (OBJS): Add valtrack.o. (valtrack.o): New. (cselib.o, dce.o, df-problems.o, combine.o): Add VALTRACK_H. * combine.c: Include valtrack.h. (make_compound_operation): Publish. (cleanup_auto_inc_dec): Move to valtrack.c. (struct rtx_subst_pair, propagate_for_debug_subst): Likewise. (propagate_for_debug): Likewise. Add this_basic_block parameter. Adjust all callers. * cselib.c: Include valtrack.h. * dce.c: Likewise. * df-problems.c: Likewise. (dead_debug_init, dead_debug_reset_uses): Move to valtrack.c. (dead_debug_finish, dead_debug_add): Likewise. (dead_debug_insert_temp): Likewise. * df.h (struct dead_debug_use): Move to valtrack.h. (struct dead_debug, enum debug_temp_where): Likewise. (dead_debug_init, dead_debug_reset_uses): Move to valtrack.h. (dead_debug_finish, dead_debug_add): Likewise. (dead_debug_insert_temp): Likewise. * rtl.h (make_compound_operation): Declare. Added: trunk/gcc/valtrack.c trunk/gcc/valtrack.h Modified: trunk/gcc/ChangeLog trunk/gcc/Makefile.in trunk/gcc/combine.c trunk/gcc/cselib.c trunk/gcc/dce.c trunk/gcc/df-problems.c trunk/gcc/df.h trunk/gcc/rtl.h --- Comment #13 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-08-02 00:34:30 UTC --- Author: aoliva Date: Thu Aug 2 00:34:26 2012 New Revision: 190062 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190062 Log: PR debug/52983 * valtrack.c (cleanup_auto_inc_dec): Implement unconditionally, falling back to copy_rtx on non-autoinc machines. (propagate_for_debug_subst): Always use cleanup_auto_inc_dec. Modified: trunk/gcc/ChangeLog trunk/gcc/valtrack.c