> On Wed, Aug 3, 2011 at 2:06 PM, Jan Hubicka <hubi...@ucw.cz> wrote: > >> In xalancbmk, with the partition option, most of object files have > >> nonzero size cold sections generated. The text size of the binary is > >> increased to 3572728 bytes from 3466790 bytes. Profiling the program > >> using the training input shows the following differences. With > >> partitioning, number of executed branch instructions slightly > >> increases, but itlb misses and icache load misses are significantly > >> lower compared with the binary without partitioning. > >> > >> > >> David > >> > >> With partition: > >> ----------------- > >> 53654937239 branches > >> 306751458 L1-icache-load-misses > >> 8146112 iTLB-load-misses > > > > Note that I was also planning for some time to introduce notion of provably > > cold > > stuff into our branch prediction heurstics. I.e. code leading to aborts, eh > > etc > > no-return attribute is looked at by static profile estimation pass. Is > the attribute (definitely not returning) properly propagated to the > callers (wrappers of exit, etc)?
It is, at local pure const and IPA pure const. Catch with IPA pure const is that profile is computed at tha time and it is not updated afterwards, so when discovered late it does not affect static profile estimates (yet), only gets cfg/codegen better. Honza > > David > > > that can be then offlined even w/o profile feedback and could perhaps help > > to large apps. > > (also the whole pass should be more effective with larger testcases, > > SPEC2k6 is slowly > > becoming a small one) > > > > Honza > >