As described here: http://gcc.gnu.org/ml/gcc/2011-08/msg00294.html
df is currently failing to create REG_DEAD notes for the last use of a multi-reg hard register. This appears to be a typo: df_set_dead_notes_for_mw is supposed to handle uses, and the comment above it says so, but df_note_bb_compute is passing defs instead. Bootstrapped & regression-tested on x86_64-linux-gnu. OK to install? Richard gcc/ * df-problems.c (df_note_bb_compute): Pass uses rather than defs to df_set_dead_notes_for_mw. Index: gcc/df-problems.c =================================================================== --- gcc/df-problems.c 2011-08-16 16:27:24.641037124 +0100 +++ gcc/df-problems.c 2011-08-26 14:48:48.521897439 +0100 @@ -3376,7 +3376,7 @@ df_note_bb_compute (unsigned int bb_inde while (*mws_rec) { struct df_mw_hardreg *mws = *mws_rec; - if ((DF_MWS_REG_DEF_P (mws)) + if (DF_MWS_REG_USE_P (mws) && !df_ignore_stack_reg (mws->start_regno)) { bool really_add_notes = debug_insn != 0;