------- Comment #1 from hubicka at gcc dot gnu dot org 2009-05-12 11:52 ------- Hmm, the inlined functions has loop depth of 4, that makes it predicted to iterate quite few times. My guess would be that inlining increases loop depth that in turn makes GCC to conclude that one of loops that are in fact internal hot loops are cold. decreasing --param hot-bb-frequency-fraction might help in this case.
I've seen this in past, just hope it is quite rare. If we find enough testcases like this, it might make sense to alter the predicate deciding on hot-bb to always consider innermost loops hot no mater on their relative frequency. Woud need to have flag on BB or loop structure always available though. Honza -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40106