From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) by sourceware.org (Postfix) with ESMTPS id 470443AC8C06 for ; Fri, 23 Apr 2021 16:36:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 470443AC8C06 Received: by mail-pg1-x536.google.com with SMTP id m12so14838148pgr.9 for ; Fri, 23 Apr 2021 09:36:15 -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=/m9qMZ+QKitsMRGs5CBuHsyEK64DjD1z+bQ1mVHeJuU=; b=ElWlCuZ8+J8bCXRoWa7C8DqzaITEL2oVTZZuctPyiaiqXiqVSc9Uwu+G1ZFAQCjmkJ ats/SAK2Ehl4baI+XC12xzxdS+HzA2/b0eyv/3HYOzBKd0EgehmzLlV3UulxQjo1vTlr MWvHtkO4EtnlRzuVvhmqi+5yvMMmH42h7xOil+/LC/ineLTafMgWNpvarErZGGDSjsT/ lRf0b/dvlqly9PG35lDaYLV2s6kNMsNaWnSAMAdd8pH3uy+eMTuC9XHELfocGkOnET7P /cYSSagERB480zsxyxdFG7FPzKcBdx43eaWETlZSxzXf0h34NTWdYTsW2KEANhEiY97v WV8w== X-Gm-Message-State: AOAM530Lf9VTL75XAz96s+4gg/xpSVhZ1bIt+StUPSbnjabRdl6UgYR7 ELUHseRgo9WsBMmxHaVT5WpyZjWMonqLOam6vN12Cg== X-Google-Smtp-Source: ABdhPJzDPFL5mT9s/Ox32jPpjjL7H1dd2hkJkABvBIZJhHGTLsZs80t5ig8pObMYA4zJZpBPTKQZzcPb3fFj1754uTI= X-Received: by 2002:a63:41c6:: with SMTP id o189mr4653130pga.118.1619195774201; Fri, 23 Apr 2021 09:36:14 -0700 (PDT) MIME-Version: 1.0 References: <62330f82-201d-af7d-d1ed-1c8c529cc0f7@suse.cz> <20210422222906.GB5803@kam.mff.cuni.cz> In-Reply-To: From: Xinliang David Li Date: Fri, 23 Apr 2021 09:36:03 -0700 Message-ID: Subject: Re: State of AutoFDO in GCC To: Richard Biener Cc: Jan Hubicka , "gcc@gcc.gnu.org" , Eugene Rozenfeld X-Spam-Status: No, score=-16.9 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 16:36:20 -0000 On Fri, Apr 23, 2021 at 12:00 AM Richard Biener wrote: > On Fri, Apr 23, 2021 at 7:28 AM Xinliang David Li via Gcc > wrote: > > > > Hi, the create_gcov tool was probably removed with the assumption that it > > was only used with Google GCC branch, but it is actually used with GCC > > trunk as well. > > > > Given that, the tool will be restored in the github repo. It seems to > build > > and work fine with the regression test. > > > > The tool may ust work as it is right now, but there is no guarantee it > > won't break in the future unless someone in the GCC community tries to > > maintain it. > > I think if we want to keep the feature it makes sense to provide > create_gcov > functionality either directly from perf (input data producer) or from gcc > (data consumer). Of course I have no idea about its complexity, license > or implementation language ... > > Right. What it takes is a perf data (can be text format) parser to produce the format GCC needs, but someone in the community needs to take the lead. It should not involve too much effort. David 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 > > > > > > > > > > > > >