From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26340 invoked by alias); 17 Apr 2014 13:23:38 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 26329 invoked by uid 89); 17 Apr 2014 13:23:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qg0-f42.google.com Received: from mail-qg0-f42.google.com (HELO mail-qg0-f42.google.com) (209.85.192.42) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Thu, 17 Apr 2014 13:23:36 +0000 Received: by mail-qg0-f42.google.com with SMTP id q107so398433qgd.1 for ; Thu, 17 Apr 2014 06:23:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=1foL49uBzgIwR5tNenPZH49sTzXfbJEpSwClGzyC+tw=; b=ZL7DDI9BwZCQnMaicZ1ASCumBHBGU4MLppqLmFKukXe8+8IyawNHss/nKueAm2G91j nvVtbiQBxJ8QbH4v61NSfQGQvEdcv/1S1WwmHugCH8fxXM17Dv1pBIEEZFCi/F9e+Kmp ZPRPjFj1mWwNbObkyrKR0TdH5ZCo6CWvVTFAvwekTvfG+FsQZnzVEozfQSdKAYvuPX1k GXpxGjxoYu9t3mvhQL7lIilZdrCOKrg5dCD7GIWHzdY8HnQhp6ncH5iFGoOYIUOWVZ8V pi8IT84oP29rH7DQtjOK9RmLFHkYPoO79SMolZIFdkRioKM50kL6NC4wQBoJL0x8hPNw 8BTA== X-Gm-Message-State: ALoCoQkqsZR9NVflycXDCbvrQVXHyXfpvFpQ1H8SVX9+zGb3O8U5tmh6QPI8wORT9J28z1MASi7ME8T0/zpaqN5WsSN7e7AidzryfE4pBuflDi/FUbwwv45Uu8nygRDbwfkdc2A7LVmDcG+pZL6/PwmnpGFairAySjHc+U/U55wMAA800j7y5NdJL4hYuTKy4mvbR5qQI54RUUI06klv6vXYoe1czP9NGQ== MIME-Version: 1.0 X-Received: by 10.140.84.134 with SMTP id l6mr9842651qgd.96.1397741013962; Thu, 17 Apr 2014 06:23:33 -0700 (PDT) Received: by 10.229.167.129 with HTTP; Thu, 17 Apr 2014 06:23:33 -0700 (PDT) In-Reply-To: <534F6901.7090700@redhat.com> References: <534F6901.7090700@redhat.com> Date: Thu, 17 Apr 2014 13:46:00 -0000 Message-ID: Subject: Re: [PATCH] Redesign jump threading profile updates From: Teresa Johnson To: Jeff Law Cc: "gcc-patches@gcc.gnu.org" , Jan Hubicka , David Li Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2014-04/txt/msg01002.txt.bz2 On Wed, Apr 16, 2014 at 10:39 PM, Jeff Law wrote: > On 03/26/14 17:44, Teresa Johnson wrote: >> >> Recently I discovered that the profile updates being performed by jump >> threading were incorrect in many cases, particularly in the case where >> the threading path contains a joiner. Some of the duplicated >> blocks/edges were not getting any counts, leading to incorrect >> function splitting and other downstream optimizations, and there were >> other insanities as well. After making a few attempts to fix the >> handling I ended up completely redesigning the profile update code, >> removing a few places throughout the code where it was attempting to >> do some updates. > > The profile updates in that code is a mess. It's never really been looked > at in any systematic way, what's there is ad-hoc and usually in response to > someone mentioning the profile data was incorrectly updated. As we rely > more and more on that data the ad-hoc updating is going to cause us more and > more pain. > > So any work in this space is going to be greatly appreciated. > > I'll have to look at this in some detail. But I wanted you to know I was > aware of the work and it's in my queue. Great, thanks for the update! I realize that it is not a trivial change so it would take some time to get through. Hopefully it should address the ongoing profile fixup issues. Teresa > > Thanks! > > jeff -- Teresa Johnson | Software Engineer | tejohnson@google.com | 408-460-2413