From patchwork Thu Jul 12 10:51:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Hubicka X-Patchwork-Id: 942901 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-481419-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=ucw.cz Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="omBUsrsE"; dkim-atps=neutral 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 41RCRh1C7Pz9rxx for ; Thu, 12 Jul 2018 20:51:42 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; q=dns; s= default; b=qF/zYquOC7kf61xffubo8HOZla92Fdk5CZL/2w1MOH18PYxq4DZmj xwZyW7gCUOUZ+5s3zW1/igwOH3eHVBrH/+tiwjS6ubA0X4m5bodkaEQ5MKjdc4+K qHEaZJkefvh3hDqWaAhQsLlm40GDxC5KMyRq4d5oLKSpO5jLmtd6Po= 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:date :from:to:subject:message-id:mime-version:content-type; s= default; bh=kwgnbYJCVt+NgtHnhXSYFWcYI+c=; b=omBUsrsEmmk/r7fvgiun eoeo74tpL+TBkbbhg2pvbK+vEERnYXgqjxFUABT1Jr9KpPCaszCVdu0nsLd22+ez qFeA6l4BuCsRS5XCFYRT1utho3S7Qg6wTJhQw61ow2SyA0CkyRp608QX2q2lFygK AeXFA5uKQyyynjo2aZMl2MY= Received: (qmail 98004 invoked by alias); 12 Jul 2018 10:51:35 -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 97991 invoked by uid 89); 12 Jul 2018 10:51:34 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-9.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, KAM_ASCII_DIVIDERS, KAM_LAZY_DOMAIN_SECURITY autolearn=ham version=3.3.2 spammy=fruit, treec, visit X-HELO: nikam.ms.mff.cuni.cz Received: from nikam.ms.mff.cuni.cz (HELO nikam.ms.mff.cuni.cz) (195.113.20.16) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 12 Jul 2018 10:51:32 +0000 Received: by nikam.ms.mff.cuni.cz (Postfix, from userid 16202) id DF2CD541B83; Thu, 12 Jul 2018 12:51:29 +0200 (CEST) Date: Thu, 12 Jul 2018 12:51:29 +0200 From: Jan Hubicka To: gcc-patches@gcc.gnu.org, rguenther@suse.de Subject: Do not stream DECL_FCONTEXT Message-ID: <20180712105129.GD94468@kam.mff.cuni.cz> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) Hi, this is another field that I believe needs no streaming. I however think we are pretty much done with low hanging fruit. lto-bootstrapped/regtested x86_64-linux, OK? Honza * lto-streamer-out.c (DFS::DFS_write_tree_body): Do not stream DECL_FCONTEXT (hash_tree): Do not hash DECL_FCONTEXT * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers): Do not stream DECL_FCONTEXT. * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise. * tree.c (free_lang_data_in_decl): Free DECL_FCONTEXT. Index: lto-streamer-out.c =================================================================== --- lto-streamer-out.c (revision 262560) +++ lto-streamer-out.c (working copy) @@ -832,7 +832,7 @@ DFS::DFS_write_tree_body (struct output_ DFS_follow_tree_edge (DECL_BIT_FIELD_TYPE (expr)); DFS_follow_tree_edge (DECL_BIT_FIELD_REPRESENTATIVE (expr)); DFS_follow_tree_edge (DECL_FIELD_BIT_OFFSET (expr)); - DFS_follow_tree_edge (DECL_FCONTEXT (expr)); + gcc_checking_assert (!DECL_FCONTEXT (expr)); } if (CODE_CONTAINS_STRUCT (code, TS_FUNCTION_DECL)) @@ -1249,7 +1249,6 @@ hash_tree (struct streamer_tree_cache_d visit (DECL_BIT_FIELD_TYPE (t)); visit (DECL_BIT_FIELD_REPRESENTATIVE (t)); visit (DECL_FIELD_BIT_OFFSET (t)); - visit (DECL_FCONTEXT (t)); } if (CODE_CONTAINS_STRUCT (code, TS_FUNCTION_DECL)) Index: tree-streamer-in.c =================================================================== --- tree-streamer-in.c (revision 262560) +++ tree-streamer-in.c (working copy) @@ -758,7 +758,6 @@ lto_input_ts_field_decl_tree_pointers (s DECL_BIT_FIELD_TYPE (expr) = stream_read_tree (ib, data_in); DECL_BIT_FIELD_REPRESENTATIVE (expr) = stream_read_tree (ib, data_in); DECL_FIELD_BIT_OFFSET (expr) = stream_read_tree (ib, data_in); - DECL_FCONTEXT (expr) = stream_read_tree (ib, data_in); } Index: tree-streamer-out.c =================================================================== --- tree-streamer-out.c (revision 262560) +++ tree-streamer-out.c (working copy) @@ -646,7 +646,6 @@ write_ts_field_decl_tree_pointers (struc stream_write_tree (ob, DECL_BIT_FIELD_TYPE (expr), ref_p); stream_write_tree (ob, DECL_BIT_FIELD_REPRESENTATIVE (expr), ref_p); stream_write_tree (ob, DECL_FIELD_BIT_OFFSET (expr), ref_p); - stream_write_tree (ob, DECL_FCONTEXT (expr), ref_p); } Index: tree.c =================================================================== --- tree.c (revision 262560) +++ tree.c (working copy) @@ -5280,6 +5280,7 @@ free_lang_data_in_decl (tree decl) free_lang_data_in_one_sizepos (&DECL_SIZE_UNIT (decl)); if (TREE_CODE (decl) == FIELD_DECL) { + DECL_FCONTEXT (decl) = NULL; free_lang_data_in_one_sizepos (&DECL_FIELD_OFFSET (decl)); if (TREE_CODE (DECL_CONTEXT (decl)) == QUAL_UNION_TYPE) DECL_QUALIFIER (decl) = NULL_TREE;