* df-problems.c (df_note_bb_compute): Do not take note of
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 Apr 2012 15:56:07 +0000 (15:56 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 Apr 2012 15:56:07 +0000 (15:56 +0000)
debug uses for whose REGs we won't emit DEAD or UNUSED notes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186421 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/df-problems.c

index 1559b9a..c099a2c 100644 (file)
@@ -1,5 +1,10 @@
 2012-04-13  Alexandre Oliva  <aoliva@redhat.com>
 
+       * df-problems.c (df_note_bb_compute): Do not take note of
+       debug uses for whose REGs we won't emit DEAD or UNUSED notes.
+
+2012-04-13  Alexandre Oliva  <aoliva@redhat.com>
+
        PR debug/51570
        * var-tracking.c (expand_depth): New type.
        (onepart_aux, expand_loc_callback_data): Change depth type to it.
index c9fc91b..6912e11 100644 (file)
@@ -3453,7 +3453,12 @@ df_note_bb_compute (unsigned int bb_index,
                {
                  if (debug_insn > 0)
                    {
-                     dead_debug_add (&debug, use, uregno);
+                     /* We won't add REG_UNUSED or REG_DEAD notes for
+                        these, so we don't have to mess with them in
+                        debug insns either.  */
+                     if (!bitmap_bit_p (artificial_uses, uregno)
+                         && !df_ignore_stack_reg (uregno))
+                       dead_debug_add (&debug, use, uregno);
                      continue;
                    }
                  break;