From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 73953 invoked by alias); 10 Jun 2015 00:25:04 -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 73944 invoked by uid 89); 10 Jun 2015 00:25:03 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_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; Wed, 10 Jun 2015 00:25:02 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id 5257B3679C8; Wed, 10 Jun 2015 00:25:01 +0000 (UTC) Received: from freie.home (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t5A0OrwG014945 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 9 Jun 2015 20:25:00 -0400 Received: from livre.home (livre.home [172.31.160.2]) by freie.home (8.14.8/8.14.8) with ESMTP id t5A0OOkh022646; Tue, 9 Jun 2015 21:24:27 -0300 From: Alexandre Oliva To: Richard Biener Cc: Jeff Law , GCC Patches Cc: Christophe Lyon , David Edelsohn , Eric Botcazou Subject: Re: [PR64164] drop copyrename, integrate into expand References: <551A2C7C.8060005@redhat.com> <5522AF73.5000706@redhat.com> Date: Wed, 10 Jun 2015 00:28:00 -0000 In-Reply-To: (Alexandre Oliva's message of "Fri, 05 Jun 2015 22:14:13 -0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2015-06/txt/msg00719.txt.bz2 On Jun 5, 2015, Alexandre Oliva wrote: > On Apr 27, 2015, Richard Biener wrote: >>> +/* Return the promoted mode for name. If it is a named SSA_NAME, it >>> + is the same as promote_decl_mode. Otherwise, it is the promoted >>> + mode of a temp decl of same type as the SSA_NAME, if we had created >>> + one. */ >>> + >>> +machine_mode >>> +promote_ssa_mode (const_tree name, int *punsignedp) >>> +{ >>> + gcc_assert (TREE_CODE (name) == SSA_NAME); >>> + >>> + if (SSA_NAME_VAR (name)) >>> + return promote_decl_mode (SSA_NAME_VAR (name), punsignedp); >> As above I'd rather not have different paths for anonymous vs. non-anonymous >> vars (so just delete the above two lines). > Check This caused the sparc regression reported by Eric in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164#c37 We need to match the mode of the rtl created for the partition and the promoted mode expected for the parm. I recall working to make parm and result decls the partition leaders, so that promote_ssa_mode would DTRT, but this escaped my mind when revisiting the patch after some time on another project. So we either restore promote_ssa_mode's check for an underlying decl, at least for PARM_ and RESULT_DECLs, or further massage function.c to deal with the mode difference. Any preference? I'm reverting the patch for now, so that we don't have to rush to a fix on this, and I can have more time to test and fix other arches. It was a terrible mistake to not do so before submitting the final version of the patch, or at least before installing it. I apologize for that. -- 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