Patchwork [PR52983] eliminate autoinc from debug_insn locs

login
register
mail settings
Submitter Alexandre Oliva
Date July 21, 2012, 10:25 a.m.
Message ID <or8vedxvge.fsf@livre.localdomain>
Download mbox | patch
Permalink /patch/172420/
State New
Headers show

Comments

Alexandre Oliva - July 21, 2012, 10:25 a.m.
On Jul 17, 2012, Richard Henderson <rth@redhat.com> wrote:

> On 07/17/2012 02:36 PM, Alexandre Oliva wrote:
>> http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00300.html

> ... except that post has patch 1 repeated as patch 3.
> The actual patch 3 is missing.

> That said, the first two patches are ok.

Thanks.

> Please repost #3.

Sorry, I'd reposted it on Jul 2nd and forgot about the mistake in the
earlier posting whose URL I sent you.  Here's the 3rd patch again.
Richard Henderson - July 24, 2012, 3:36 p.m.
On 07/21/2012 03:25 AM, Alexandre Oliva wrote:
> 	PR debug/52983
> 	* valtrack.c (dead_debug_insert_temp): Use cleanup_auto_inc_dec.

Ok.


r~
Alexandre Oliva - July 24, 2012, 10:29 p.m.
On Jul 24, 2012, Richard Henderson <rth@redhat.com> wrote:

> On 07/21/2012 03:25 AM, Alexandre Oliva wrote:
>> PR debug/52983
>> * valtrack.c (dead_debug_insert_temp): Use cleanup_auto_inc_dec.

> Ok.

Thanks.  I'm about to go on a trip for the rest of the week and I won't
be online much, so I won't check them in now.  I will when I get back
home, so that I'll have a better chance of dealing with any fallout.


http://fisl.softwarelivre.org/ is where I'm heading to.  Any other GCC
developers going to be there?

Patch

for  gcc/ChangeLog
from  Alexandre Oliva  <aoliva@redhat.com>

	PR debug/52983
	* valtrack.c (dead_debug_insert_temp): Use cleanup_auto_inc_dec.

Index: gcc/valtrack.c
===================================================================
--- gcc/valtrack.c.orig	2012-05-03 15:44:47.934692987 -0300
+++ gcc/valtrack.c	2012-05-03 15:44:52.540628548 -0300
@@ -385,7 +385,7 @@  dead_debug_insert_temp (struct dead_debu
 	breg = NULL;
       /* Cool, it's the same REG, we can use SRC.  */
       else if (dest == reg)
-	breg = copy_rtx (src);
+	breg = cleanup_auto_inc_dec (src, VOIDmode);
       else if (REG_P (dest))
 	{
 	  /* Hmm...  Something's fishy, we should be setting REG here.  */
@@ -394,7 +394,8 @@  dead_debug_insert_temp (struct dead_debu
 	  /* Ok, it's the same (hardware) REG, but with a different
 	     mode, so SUBREG it.  */
 	  else
-	    breg = lowpart_subreg (GET_MODE (reg), copy_rtx (src),
+	    breg = lowpart_subreg (GET_MODE (reg),
+				   cleanup_auto_inc_dec (src, VOIDmode),
 				   GET_MODE (dest));
 	}
       else if (GET_CODE (dest) == SUBREG)
@@ -415,7 +416,8 @@  dead_debug_insert_temp (struct dead_debu
 	    breg = NULL;
 	  /* Yay, we can use SRC, just adjust its mode.  */
 	  else
-	    breg = lowpart_subreg (GET_MODE (reg), copy_rtx (src),
+	    breg = lowpart_subreg (GET_MODE (reg),
+				   cleanup_auto_inc_dec (src, VOIDmode),
 				   GET_MODE (dest));
 	}
       /* Oh well, we're out of luck.  */