This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fix incorrect debug temp added by df-problems


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.

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;
-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist      Red Hat Brazil Compiler Engineer

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]