From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot1-x334.google.com (mail-ot1-x334.google.com [IPv6:2607:f8b0:4864:20::334]) by sourceware.org (Postfix) with ESMTPS id 4D1253857C42 for ; Fri, 14 Aug 2020 08:36:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4D1253857C42 Received: by mail-ot1-x334.google.com with SMTP id z18so7007960otk.6 for ; Fri, 14 Aug 2020 01:36:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=7jLFjcF3pVjhRR+yUGRvkGnbexOx4N5WNvYsUmR+jMA=; b=fEDoeHd2ieBCQ/3qgwznLU9v/60hPsR7VFA1GDSY2iX1ePwRwU70TlErYxexIgG6zq ziRRnxtHHAi0xHOy87zcT/nCK9qYlYbbCrVUiItc3XELF/3SntyxBqDXw1m/+vLlWXrX IQP2lU4WdL/fnzHvCUn+AWNFDFqdTXU8xkpkdhiqu/yFp1wc4z9nhtQk0zVRypyZH3vd TR27L2ghU/9a1+dMbFTem2aEjGQAPHHDve9prUtyG3Ipwf/+JN7E6qTxwI4qydUShGm1 n9KrWUdCBJJqOv8iog8omGiu1zTOlQx8fPW4pHIW5x0x6cbMJiH57S1KHQvJ5INE9YEy aUGQ== X-Gm-Message-State: AOAM5321h2ap0RUOhmcDYiKYIQsD1iw0hZkLJ7l4GoPWg+7ysn7q9HNp MsHdaqJOD7mkfoJsvwNLIUcMW5te4Ej5aFxNjFKNzg== X-Google-Smtp-Source: ABdhPJyHYeNiLqu4NCH9YqJHsutBDIbPt9I+gig4MU4O5vYNbL6ss8NabemZWIcoUI/h0hzbd5uqHBPtRWhA0+jnymw= X-Received: by 2002:a9d:30c7:: with SMTP id r7mr1170488otg.218.1597394185508; Fri, 14 Aug 2020 01:36:25 -0700 (PDT) MIME-Version: 1.0 References: <20200806143439.GB82935@kam.mff.cuni.cz> In-Reply-To: From: Christophe Lyon Date: Fri, 14 Aug 2020 10:36:14 +0200 Message-ID: Subject: Re: Backporting streaming and enum changes To: Richard Biener Cc: Jan Hubicka , Jakub Jelinek , gcc Patches Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Aug 2020 08:36:27 -0000 Hi, On Thu, 6 Aug 2020 at 16:39, Richard Biener wrote: > > On Thu, 6 Aug 2020, Jan Hubicka wrote: > > > Hello, > > as discussed some time ago, I would like to discuss possibility to > > backport the straming and enum improvements. The motivation is that > > this brings quite noticeable improvements to builds of very large > > projects where we currently have nonlinearity problem with anonymous > > namespaces (which is solved by first set of patches) and also there is > > quite noticeable overhead of streaming of enums that I noticed too late > > for gcc 10.1. This is the second combine dpatch. > > > > There is also noticeable reduction of .o files (especially before > > compression as hit to WPA->ltrans streaming) and some memory use > > benefits. > > > > This is an optional thing to do, but I believe it may be helpful for > > distro builds and those using LTO for large projects. > > > > For firefox the reduction in global stream (that is slowest part of WPA= ) > > is from 25678391 tree bodies to 20821629, 11160520 SCC hash collisions > > to 6002. 392382523 overal section size to 287891470 (both is > > compressed). > > > > For Firefox streaming is under control, but other projects like Chromiu= m > > hits bigger issues. The reason is that Firefox has "unified build" that > > #includes multiple cpp sources to one, so it consists of only about 8k > > source files, while chromium is over 25k and it was tested on project > > with over 250k sources. More smaller sources one gets, the more > > noticeable bottleneck streaming become. > > > > The patches are not completely trivial, but they affect code that is > > heavily executed during streaming and was in mainline for several > > months, so I hope they are safe. > > So we've built the core of openSUSE (~3000 packages) on x86_64 > and i586 with these backported and sofar found no issues. > > I'm fine with backporting but I'll give Jakub the chance to > object. > > Honza - please make sure to bump the LTO stream version minor > together with the streaming change (I think the enum change > doesn't require bumping). > Since this was backported as r10-8623-g0d96c3424bbb5e5f994b78c8f65d8704d215= be54, I've noticed ICEs on arm and aarch64: gcc.dg/pr34457-1.c (internal compiler error) gcc.dg/torture/pr92088-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=3Dnone (internal compiler error) gcc.dg/torture/pr92088-1.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects (internal compiler error) I can see: Excess errors: during IPA pass: cp lto1: internal compiler error: in operator[], at vec.h:878 0xa0a5d7 vec::operator[](unsigned int= ) /gcc/vec.h:878 0xa0a5d7 vec::operator[](unsigned int) /gcc/vec.h:1444 0xa194d3 vec::operator[](unsigned int) /gcc/tree.h:3408 0xa194d3 lto_symtab_encoder_deref /gcc/lto-streamer.h:1173 0xa194d3 ipa_prop_read_section /gcc/ipa-prop.c:5060 0xa194d3 ipa_prop_read_jump_functions() /gcc/ipa-prop.c:5089 0xb6ba71 ipa_read_summaries_1 /gcc/passes.c:2837 0x6bc4b5 read_cgraph_and_symbols(unsigned int, char const**) /gcc/lto/lto-common.c:2921 0x69deb2 lto_main() /gcc/lto/lto.c:625 The tests pass on trunk. Christophe > Thanks, > Richard. > > > Honza > > > > -- > Richard Biener > SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, > Germany; GF: Felix Imend=C3=B6rffer; HRB 36809 (AG Nuernberg)