Patchwork fix incorrect debug temp added by df-problems

login
register
mail settings
Submitter Alexandre Oliva
Date April 13, 2012, 4 p.m.
Message ID <orvcl339le.fsf@livre.localdomain>
Download mbox | patch
Permalink /patch/152331/
State New
Headers show

Comments

Alexandre Oliva - April 13, 2012, 4 p.m.
On Apr  9, 2012, Jakub Jelinek <jakub@redhat.com> wrote, in response to
my posting to the wrong thread (now fixed):

> On Mon, Apr 09, 2012 at 03:29:05AM -0300, Alexandre Oliva wrote:
>> +			  && (!df_ignore_stack_reg (uregno)))

> Please remove the extra () around this line,
> 			  && !df_ignore_stack_reg (uregno))

> Ok for trunk with that change, thanks.

Thanks, here's what I've just installed.

Patch

This fixes a bug in pr43165.c with -Os -g.

for  gcc/ChangeLog
from  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.
	
Index: gcc/df-problems.c
===================================================================
--- gcc/df-problems.c.orig	2012-04-13 05:18:28.604788011 -0300
+++ gcc/df-problems.c	2012-04-13 06:58:42.053258184 -0300
@@ -3453,7 +3453,12 @@  df_note_bb_compute (unsigned int bb_inde
 		{
 		  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;