From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 111576 invoked by alias); 9 Oct 2015 09:40:24 -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 111554 invoked by uid 89); 9 Oct 2015 09:40:23 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-yk0-f171.google.com Received: from mail-yk0-f171.google.com (HELO mail-yk0-f171.google.com) (209.85.160.171) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Fri, 09 Oct 2015 09:40:21 +0000 Received: by ykba192 with SMTP id a192so69422503ykb.3 for ; Fri, 09 Oct 2015 02:40:19 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.129.79.211 with SMTP id d202mr8379908ywb.240.1444383619151; Fri, 09 Oct 2015 02:40:19 -0700 (PDT) Received: by 10.37.93.136 with HTTP; Fri, 9 Oct 2015 02:40:19 -0700 (PDT) In-Reply-To: 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 09:40:00 -0000 Message-ID: Subject: Re: [PR67891] drop is_gimple_reg test from set_parm_rtl (was: [PR67766] reorder return value copying from PARALLELs and CONCATs) From: Richard Biener To: Alexandre Oliva Cc: =?UTF-8?B?VXJvxaEgQml6amFr?= , Alan Lawrence , Jeff Law , James Greenhalgh , "H.J. Lu" , Segher Boessenkool , GCC Patches , Christophe Lyon , David Edelsohn , Eric Botcazou Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2015-10/txt/msg00945.txt.bz2 On Fri, Oct 9, 2015 at 9:33 AM, Alexandre Oliva wrote: > 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? Ok. Note that I think emit_block_move shouldn't mess with the addressable = flag. Thanks, Richard. > > [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); > } > > - 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); > > > -- > 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