From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22966 invoked by alias); 2 Jul 2012 12:29:36 -0000 Received: (qmail 22949 invoked by uid 22791); 2 Jul 2012 12:29:34 -0000 X-SWARE-Spam-Status: No, hits=-5.7 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,SPF_HELO_PASS,T_RP_MATCHES_RCVD,T_TVD_MIME_NO_HEADERS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 02 Jul 2012 12:29:19 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q62CSwvJ004669 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 2 Jul 2012 08:28:58 -0400 Received: from freie (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q62CSu3D016820 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 2 Jul 2012 08:28:57 -0400 Received: from livre.localdomain (livre-to-gw.oliva.athome.lsd.ic.unicamp.br [172.31.160.19]) by freie (8.14.5/8.14.5) with ESMTP id q62CSr10021890; Mon, 2 Jul 2012 09:28:54 -0300 Received: from livre.localdomain (aoliva@localhost.localdomain [127.0.0.1]) by livre.localdomain (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id q62CSqXU012256; Mon, 2 Jul 2012 09:28:52 -0300 Received: (from aoliva@localhost) by livre.localdomain (8.14.3/8.14.3/Submit) id q62CSqam012254; Mon, 2 Jul 2012 09:28:52 -0300 From: Alexandre Oliva To: Paolo Bonzini Cc: Eric Botcazou , gcc-patches@gcc.gnu.org, Uros Bizjak Subject: Re: [PR52983] eliminate autoinc from debug_insn locs References: <201204091541.27484.ebotcazou@adacore.com> <4F885824.7090405@gnu.org> Date: Mon, 02 Jul 2012 12:29:00 -0000 In-Reply-To: (Alexandre Oliva's message of "Wed, 13 Jun 2012 04:59:31 -0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-07/txt/msg00025.txt.bz2 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 1783 On Jun 13, 2012, Alexandre Oliva wrote: > On May 3, 2012, Alexandre Oliva wrote: >> Here are the 3 patches that, together, are equivalent to the one posted >> before, except for the visibility of cleanup_auto_inc_dec. > Ping? > http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00300.html Ping=C2=B2? for gcc/ChangeLog from Alexandre Oliva PR debug/52983 * valtrack.h, valtrack.c: New. * Makefile.in (VALTRACK_H): New. (OBJS): Add valtrack.o. (valtrack.o): New. (cselib.o, dce.o, df-problems.o, combine.o): Add VALTRACK_H. * combine.c: Include valtrack.h. (make_compound_operation): Publish. (cleanup_auto_inc_dec): Move to valtrack.c. (struct rtx_subst_pair, propagate_for_debug_subst): Likewise. (propagate_for_debug): Likewise. Add this_basic_block parameter. Adjust all callers. * cselib.c: Include valtrack.h. * dce.c: Likewise. * df-problems.c: Likewise. (dead_debug_init, dead_debug_reset_uses): Move to valtrack.c. (dead_debug_finish, dead_debug_add): Likewise. (dead_debug_insert_temp): Likewise. * df.h (struct dead_debug_use): Move to valtrack.h. (struct dead_debug, enum debug_temp_where): Likewise. (dead_debug_init, dead_debug_reset_uses): Move to valtrack.h. (dead_debug_finish, dead_debug_add): Likewise. (dead_debug_insert_temp): Likewise. * rtl.h (make_compound_operation): Declare. for gcc/ChangeLog from Alexandre Oliva PR debug/52983 * valtrack.c (cleanup_auto_inc_dec): Implement unconditionally, falling back to copy_rtx on non-autoinc machines. (propagate_for_debug_subst): Always use cleanup_auto_inc_dec. Ugh, the 3rd patch was a mistaken repeat of the 1st. Here is the 3rd patch I was supposed to have posted, that completes the fix. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vta-valtrack-fix-pr52983.patch Content-length: 1441 for gcc/ChangeLog from Alexandre Oliva 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. */ --=-=-= Content-length: 258 -- 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 --=-=-=--