Message ID | g48vqgth17.fsf@richards-thinkpad.stglab.manchester.uk.ibm.com |
---|---|
State | New |
Headers | show |
this looks right to me. ok for commit. On 08/26/2011 09:54 AM, Richard Sandiford wrote: > 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;
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;