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;

Reply via email to