From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com [IPv6:2607:f8b0:4864:20::532]) by sourceware.org (Postfix) with ESMTPS id D78E6395041A for ; Fri, 23 Apr 2021 17:28:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D78E6395041A Received: by mail-pg1-x532.google.com with SMTP id 31so3728633pgn.13 for ; Fri, 23 Apr 2021 10:28:17 -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; bh=LC405O1D1oz9/Kd2PJsIdR8hUE1hk2VJmW/VtNnBHK4=; b=IU9zOxX21WbN8qxN7yNb6WdTuBj1GUKGFSd09RNn2B4+DQHs/YSHTye/ibeb8ltb20 s6SvmovJAOTQi7IAElS32lHEZyq+csrD6VkVQp8nvbJMhSwXtjCmbmX5lBSWMPL1WK/A 3pr2cnFf7f4wgvFhTXUOHUDjJuaag+eBQ2BnAZVtT0q+oZe1/4S0TIf76W0cDo6h1adn 4MglDEE2slkKGyGUbJzvCdKvZlQEK8DXN3nCQHZD8qBBxIFlp+7tYRw9nsMoCdnHu6kG /VB7zxudMk3gNzADoVkQQQtFNZQEKWAHL2pGyTxRAJCYx3BWlByWZ3gMk64ZXa+CJcUs xtXA== X-Gm-Message-State: AOAM533Wc1OKzSmY+StULrWdvl4KR6fGc+9CU0JRm7I7zEvmWOgo987E hszyhgWf3TuhoenbpcGUy4btVHzk2p9YzsIA97CJhg== X-Google-Smtp-Source: ABdhPJxgMvXmT5ROKHIxzTSD0eu094ycqbG/XvWfeWNRkIRKFaEadkEHigcSTBTdfLKbd15Nh/Vo2C88nIhTDoB2WRs= X-Received: by 2002:a62:1ec1:0:b029:24d:b3de:25be with SMTP id e184-20020a621ec10000b029024db3de25bemr4807649pfe.17.1619198896674; Fri, 23 Apr 2021 10:28:16 -0700 (PDT) MIME-Version: 1.0 References: <62330f82-201d-af7d-d1ed-1c8c529cc0f7@suse.cz> <20210422222906.GB5803@kam.mff.cuni.cz> <20210423165449.GC56452@kam.mff.cuni.cz> <20210423171611.GA82007@kam.mff.cuni.cz> In-Reply-To: From: Xinliang David Li Date: Fri, 23 Apr 2021 10:28:06 -0700 Message-ID: Subject: Re: State of AutoFDO in GCC To: Jan Hubicka Cc: "gcc@gcc.gnu.org" , Eugene Rozenfeld X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH, HTML_MESSAGE, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, USER_IN_DEF_DKIM_WL, USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Apr 2021 17:28:19 -0000 On Fri, Apr 23, 2021 at 10:27 AM Xinliang David Li wrote: > > > On Fri, Apr 23, 2021 at 10:16 AM Jan Hubicka wrote: > >> > >> > It uses create_llvm_prof tool which is in the same git repo. The data >> > parsing part is shared with create_gcov, but the writer is obviously >> > different for the two tools. >> >> OK and what are the main differences between llvmand gcc format? >> >> GCC expects GCOV format, I think while LLVM uses a newly designed binary > format. > > Sorry I missed your next reply. I forgot about the details of GCC' format. David > > >> Honza >> > >> > David >> > >> > >> > > Honza >> > > > >> > > > David >> > > > >> > > > > >> > > > > Thoughts? >> > > > > Martin >> > > > > >> > > > > > >> > > > > > Having the tool third-party makes keeping the whole chain >> working >> > > more >> > > > > > difficult. >> > > > > > >> > > > > > Richard. >> > > > > > >> > > > > >> Thanks, >> > > > > >> >> > > > > >> David >> > > > > >> >> > > > > >> On Thu, Apr 22, 2021 at 3:29 PM Jan Hubicka >> wrote: >> > > > > >> >> > > > > >>>> On 4/22/21 9:58 PM, Eugene Rozenfeld via Gcc wrote: >> > > > > >>>>> GCC documentation for AutoFDO points to create_gcov tool >> that >> > > > > converts >> > > > > >>> perf.data file into gcov format that can be consumed by gcc >> with >> > > > > >>> -fauto-profile ( >> > > > > https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html, >> > > > > >>> https://gcc.gnu.org/wiki/AutoFDO/Tutorial). >> > > > > >>>>> >> > > > > >>>>> I noticed that the source code for create_gcov has been >> deleted >> > > from >> > > > > >>> https://github.com/google/autofdo on April 7. I asked about >> that >> > > > > change >> > > > > >>> in that repo and got the following reply: >> > > > > >>>>> >> > > > > >>>>> >> > > https://github.com/google/autofdo/pull/107#issuecomment-819108738 >> > > > > >>>>> >> > > > > >>>>> "Actually we didn't use create_gcov and havn't updated >> > > create_gcov >> > > > > for >> > > > > >>> years, and we also didn't have enough tests to guarantee it >> works >> > > (It >> > > > > was >> > > > > >>> gcc-4.8 when we used and verified create_gcov). If you need >> it, it >> > > is >> > > > > >>> welcomed to update create_gcov and add it to the respository." >> > > > > >>>>> >> > > > > >>>>> Does this mean that AutoFDO is currently dead in gcc? >> > > > > >>>> >> > > > > >>>> Hello. >> > > > > >>>> >> > > > > >>>> Yes. I know that even basic test cases have been broken for >> years >> > > in >> > > > > the >> > > > > >>> GCC. >> > > > > >>>> It's new to me that create_gcov was removed. >> > > > > >>>> >> > > > > >>>> I tend to send patch to GCC that will remove AutoFDO from >> GCC. >> > > > > >>>> I known Bin spent some time working on AutoFDO, has he came >> up to >> > > > > >>> something? >> > > > > >>> >> > > > > >>> The GCC side of auto-FDO is not that hard. We have most of >> > > > > >>> infrastructure in place, but stopping point for me was always >> > > > > difficulty >> > > > > >>> to get gcov-tool working. If some maintainer steps up, I >> think I >> > > can >> > > > > >>> fix GCC side. >> > > > > >>> >> > > > > >>> I am bit unsure how important feature it is - we have FDO that >> > > works >> > > > > >>> quite well for most users but I know there are some users of >> the >> > > LLVM >> > > > > >>> implementation and there is potential to tie this with other >> > > hardware >> > > > > >>> events to asist i.e. if conversion (where one wants to know >> how >> > > well >> > > > > CPU >> > > > > >>> predicts the jump rather than just the jump probability) >> which I >> > > always >> > > > > >>> found potentially interesting. >> > > > > >>> >> > > > > >>> Honza >> > > > > >>>> >> > > > > >>>> Martin >> > > > > >>>> >> > > > > >>>>> >> > > > > >>>>> Thanks, >> > > > > >>>>> >> > > > > >>>>> Eugene >> > > > > >>>>> >> > > > > >>>> >> > > > > >>> >> > > > > >> > > > > >> > > >> >