> > On the first glance the difference between gcc9 and gcc10 is explained > > by the changes to profile updating. gcc9 makes very small cold > > partitions compared to gcc10. It is very nice that we have a way to > > measure it. I will also check if some of the more important profiling > > update fixes makes sense to backport to gcc9. > > > > Over weekend I did some fixes to tp reordreing, so it may be nice to > > update your tests, but I will try to run it myself. > > > > In general one can see individual stages of compilation on the graph - > > parsing, early lowering, early opts. On bigger programs this should be > > more visible. I will give it a try. > > You haven't replied to question whether we want to let ipa-reorder into > trunk based on the sent images for GCC 10 PGO+LTO boostrap?
My concern is still the same - while I like the patch I am worried that we have only one example where it produces some benefit. For this reason I looked into tp_first_run issues this weekend and found fixed some issues / verified that the order now seems to be fine for cc1 binary and partly for Firefox. We do run periodic benchmarks to keep optimization in shape, but code layout stuff is out in wild and no one is verifying that it works. It is now bit nontrivial piece of code and thus it is not big suprise that there are numeber of bugs. I like the heatmap generator (but for some reason it generates empty pngs for me. Maybe things are just out of range since bounds are hardcoded in your script) I don't have much time today but tomorrow I will try to get to it tested and send some comments on the patch. Honza