[PATCH] Redesign jump threading profile updates

Teresa Johnson tejohnson@google.com
Tue May 27 14:11:00 GMT 2014


On Thu, Apr 17, 2014 at 6:23 AM, Teresa Johnson <tejohnson@google.com> wrote:
> On Wed, Apr 16, 2014 at 10:39 PM, Jeff Law <law@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

Ping.
Thanks,
Teresa

>
>>
>> Thanks!
>>
>> jeff
>
>
>
> --
> Teresa Johnson | Software Engineer | tejohnson@google.com | 408-460-2413



-- 
Teresa Johnson | Software Engineer | tejohnson@google.com | 408-460-2413



More information about the Gcc-patches mailing list