http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58721

--- Comment #11 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
The inlining of perdida also happens with --param large-function-insns=100000.
perhaps it indicates we shoud bump this parameter up little bit.

The reason why inlining order changed is iztaccihuatl that calls perdida.
The function has 78 checks that leads to early exit (because of out of memory I
believe). Before the __builtin_expect change we predicted them all with 0.01%
probability to exit, while now we predict them with 0.1.

Obviously 0.9^78 is a lot less than 0.99^78.

Fortran fronend should probably stop using builtin_expect where we can derive
the same info from noreturn (as it seems to be the case here), but it is not
always.

I wonder if we want to add optional probability argument to builtlin_expect? 
It is not completely trvial addition since expr_expected_value_1 does some
propagation and it will need to be extended to handle the probablities, too.

Honza

Reply via email to