This is the mail archive of the gcc-patches@gcc.gnu.org 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] |
On 03/26/14 17:44, Teresa Johnson wrote:
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.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.
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.
Thanks! jeff
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |