From patchwork Tue May 26 13:19:51 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ramana Radhakrishnan X-Patchwork-Id: 476476 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id AD83C140E0F for ; Tue, 26 May 2015 23:32:17 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=qZkHpng2; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; q=dns; s=default; b=WXLv/PgwTvxCXKqHR Cfv5xzpnJTpRMOC3St4uOhmDAxgPT1NupQGqpFfqrP2tXDrsV8ssW3zVf8A5prXw 5Por4ZBMf4jWd2v3b6Abq12OqXncMlWbUd3D+l4ILcADJg4FXf77sYPpn7uLEuiA DdiMaoJ6zYhT412STdF9LXUWA4= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type; s=default; bh=SfUBjzPB9Av/0mG05qzPJde TH44=; b=qZkHpng2geak+Tu0ubhVfy+KjKKqIZFc+1v46lSCumv983fKH9ewH2x SsmLeHbqkqJctUE0xnAP8gp+aKHCm2vcS8SPsD9ztLjpEqEruVOKAD1SK7T1Lrlr ivsqDdL5pKH0SHGm/Jx33XnXJYNQxVwaItzG7UbvLT4kpDj0xTWI= Received: (qmail 43052 invoked by alias); 26 May 2015 13:21:32 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 41403 invoked by uid 89); 26 May 2015 13:19:53 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.4 required=5.0 tests=AWL, BAYES_00, KAM_ASCII_DIVIDERS, KAM_LAZY_DOMAIN_SECURITY, T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: foss.arm.com Received: from foss.arm.com (HELO foss.arm.com) (217.140.101.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 26 May 2015 13:19:52 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E23C2269; Tue, 26 May 2015 06:19:41 -0700 (PDT) Received: from [10.2.206.27] (e105545-lin.cambridge.arm.com [10.2.206.27]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 64EA53F447; Tue, 26 May 2015 06:19:49 -0700 (PDT) Message-ID: <556472F7.3080201@foss.arm.com> Date: Tue, 26 May 2015 14:19:51 +0100 From: Ramana Radhakrishnan User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Richard Biener , Jan Hubicka CC: GCC Patches Subject: Re: Copy TYPE_NO_FORCE_BLK in finalize_type_size References: <20150522154423.GB77180@kam.mff.cuni.cz> In-Reply-To: X-IsSubscribed: yes On 26/05/15 09:58, Richard Biener wrote: > On Fri, May 22, 2015 at 5:44 PM, Jan Hubicka wrote: >> Hi, >> PR 66181 is about ICE in verify_type that complains that type and its variant differs >> by TYPE_NO_FORCE_BLK. This flag is kind-of internal to stor-layout.c, so the divergence >> may not matter (I am not sure about it as C++ FE finalizes type variants separately >> and thus it may trip to different values) but I think it is cleaner to copy it to all >> variants like we copy other stuff set by stor layout. >> >> Bootstrapped/regtested x86_64-linux and the patch reportedly fixes the ARM ICE >> OK? > > Hmm. I think the flag should become more private to stor-layout.c and > as I read it > it matters only for the main variant (as we copy all fields computed > by it to variants). > > Thus, don't stream this flag, don't compare it in LTO (nor in the type > verifier) and > eventually make the TYPE_NO_FORCE_BLK define private to stor-layout.c. > > Richard. > >> Honza >> PR middle-end/66181 >> * stor-layout.c (finalize_type_size): Also copy TYPE_NO_FORCE_BLK. >> Index: stor-layout.c >> =================================================================== >> --- stor-layout.c (revision 222869) >> +++ stor-layout.c (working copy) >> @@ -1834,6 +1834,7 @@ >> TYPE_ALIGN (variant) = valign; >> TYPE_PRECISION (variant) = precision; >> SET_TYPE_MODE (variant, mode); >> + TYPE_NO_FORCE_BLK (variant) = TYPE_NO_FORCE_BLK (type); >> } >> } >> } >> I've applied this after ensuring that arm-none-eabi builds finish. richi pre-approved this in a private message on IRC. regards Ramana PR ipa/66181 * tree.c (verify_type_variant): Disable check for TYPE_NO_FORCE_BLK. Index: gcc/tree.c =================================================================== --- gcc/tree.c (revision 223693) +++ gcc/tree.c (working copy) @@ -12548,7 +12548,6 @@ } } verify_variant_match (TYPE_PRECISION); - verify_variant_match (TYPE_NO_FORCE_BLK); verify_variant_match (TYPE_NEEDS_CONSTRUCTING); if (RECORD_OR_UNION_TYPE_P (t)) verify_variant_match (TYPE_TRANSPARENT_AGGR);