From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 58115 invoked by alias); 9 Oct 2015 07:33:17 -0000 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 Received: (qmail 58104 invoked by uid 89); 9 Oct 2015 07:33:17 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Fri, 09 Oct 2015 07:33:16 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id AC645550CD; Fri, 9 Oct 2015 07:33:13 +0000 (UTC) Received: from freie.home (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t997XBaj021928 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 9 Oct 2015 03:33:12 -0400 Received: from livre.home (livre.home [172.31.160.2]) by freie.home (8.14.9/8.14.9) with ESMTP id t997X5TS014134; Fri, 9 Oct 2015 04:33:05 -0300 From: Alexandre Oliva To: =?utf-8?Q?Uro=C5=A1?= Bizjak Cc: Richard Biener , Alan Lawrence , Jeff Law , James Greenhalgh , "H.J. Lu" , Segher Boessenkool , GCC Patches , Christophe Lyon , David Edelsohn , Eric Botcazou Subject: [PR67891] drop is_gimple_reg test from set_parm_rtl (was: [PR67766] reorder return value copying from PARALLELs and CONCATs) References: <20150723203112.GB27818@gate.crashing.org> <20150810082355.GA31149@arm.com> <55C8BFC3.3030603@redhat.com> <55E72D4C.40705@arm.com> <55FC3171.7040509@arm.com> Date: Fri, 09 Oct 2015 07:33:00 -0000 In-Reply-To: (Alexandre Oliva's message of "Fri, 09 Oct 2015 02:36:29 -0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-SW-Source: 2015-10/txt/msg00922.txt.bz2 On Oct 9, 2015, Alexandre Oliva wrote: > This fixes fallout from the PR64164 expander revamp. > Uro=C5=A1 kindly tested with an alpha-linux-gnu regstrap. The one regression he mentioned from that run was gcc.dg/pr43300.c. The vector parameter there is handled by the emit_block_move case of assign_parms_setup_block. Alas, emit_block_move marks the decl as addressable, which causes the subsequent is_gimple_reg test in set_parm_rtl to return false. This causes us to call set_rtl with the parm decl, instead of its default def, and the latter would be required to store the RTL in the partition holding the default def. The good news it that we don't really need to call is_gimple_reg there, though; testing whether there is a default def in place is enough, and ssa_default_def will find the default def in spite of the parm's no longer passing is_gimple_reg, and it won't complain if given a decl that was never a gimple reg. So, I'm dropping the test. Regstrapped on x86_64-linux-gnu and i686-linux-gnu. Ok to install? [PR67891] don't test is_gimple_reg after parm expansion From: Alexandre Oliva for gcc/ChangeLog PR middle-end/67891 * cfgexpand.c (set_parm_rtl): Drop is_gimple_reg test. --- gcc/cfgexpand.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index 58e55d2..eaad859 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -1243,9 +1243,6 @@ set_parm_rtl (tree parm, rtx x) record_alignment_for_reg_var (align); } =20 - if (!is_gimple_reg (parm)) - return set_rtl (parm, x); - tree ssa =3D ssa_default_def (cfun, parm); if (!ssa) return set_rtl (parm, x); --=20 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 Brasil GNU Toolchain Engineer