This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Redesign jump threading profile updates

On Thu, Apr 17, 2014 at 6:23 AM, Teresa Johnson <> wrote:
> 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 | | 408-460-2413

Teresa Johnson | Software Engineer | | 408-460-2413

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]