From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5246 invoked by alias); 29 Apr 2011 05:28:28 -0000 Received: (qmail 5201 invoked by uid 22791); 29 Apr 2011 05:28:27 -0000 X-SWARE-Spam-Status: No, hits=-5.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,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; Fri, 29 Apr 2011 05:27:53 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p3T5RqeC018553 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 29 Apr 2011 01:27:52 -0400 Received: from freie.oliva.athome.lsd.ic.unicamp.br (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p3T5Ro2Y015969 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 29 Apr 2011 01:27:52 -0400 Received: from livre.localdomain (livre-to-gw.oliva.athome.lsd.ic.unicamp.br [172.31.160.19]) by freie.oliva.athome.lsd.ic.unicamp.br (8.14.4/8.14.4) with ESMTP id p3T5RmhS007999 for ; Fri, 29 Apr 2011 02:27:48 -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 p3T5Rm5I023529; Fri, 29 Apr 2011 02:27:48 -0300 Received: (from aoliva@localhost) by livre.localdomain (8.14.3/8.14.3/Submit) id p3T5RlE6023528; Fri, 29 Apr 2011 02:27:47 -0300 From: Alexandre Oliva To: gcc-patches@gcc.gnu.org Subject: [PR 47994] skip debug insns in combine m_split tests Date: Fri, 29 Apr 2011 07:53:00 -0000 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: 2011-04/txt/msg02297.txt.bz2 --=-=-= Content-length: 419 The testcase in PR 47994, as well as one of the tests in 47919, exposed our failure to skip debug insns when testing whether it is safe to split the unrecognizable insn resulting from combining 3 insns. Unfortunately, both testcases are far too sensitive to other changes in the compiler, to the point of being unusable as regression tests IMHO. Regstrapped on x86_64-linux-gnu and i686-pc-linux-gnu. Ok to install? --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=vta-combine-msplit-next-insn-check-pr47994.patch Content-length: 1532 for gcc/ChangeLog from Alexandre Oliva PR debug/47994 PR debug/47919 * combine.c (try_combine): Skip debug insns at m_split tests. Index: gcc/combine.c =================================================================== --- gcc/combine.c.orig 2011-04-29 02:16:34.718995124 -0300 +++ gcc/combine.c 2011-04-29 02:16:54.454998871 -0300 @@ -3457,7 +3457,7 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx newpat = m_split; } else if (m_split && NEXT_INSN (NEXT_INSN (m_split)) == NULL_RTX - && (next_real_insn (i2) == i3 + && (next_nonnote_nondebug_insn (i2) == i3 || ! use_crosses_set_p (PATTERN (m_split), DF_INSN_LUID (i2)))) { rtx i2set, i3set; @@ -3474,7 +3474,7 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx is used between I2 and I3, we also can't use these insns. */ if (i2_code_number >= 0 && i2set && i3set - && (next_real_insn (i2) == i3 + && (next_nonnote_nondebug_insn (i2) == i3 || ! reg_used_between_p (SET_DEST (i2set), i2, i3))) insn_code_number = recog_for_combine (&newi3pat, i3, &new_i3_notes); @@ -3522,7 +3522,7 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx || GET_MODE (*split) == VOIDmode || can_change_dest_mode (i2dest, added_sets_2, GET_MODE (*split))) - && (next_real_insn (i2) == i3 + && (next_nonnote_nondebug_insn (i2) == i3 || ! use_crosses_set_p (*split, DF_INSN_LUID (i2))) /* We can't overwrite I2DEST if its value is still used by NEWPAT. */ --=-=-= Content-length: 257 -- 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 --=-=-=--