On Wed, Apr 16, 2014 at 10:39 PM, Jeff Law <l...@redhat.com> 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 | tejohn...@google.com | 408-460-2413