diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 14d5066fdf0..2c5b123a4bb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-01-10 Jan Hubicka + + PR lto/45375 + * profile.c (read_profile_edge_counts): Ignore profile inconistency + when correcting profile. + 2011-01-10 Jan Hubicka PR lto/46083 diff --git a/gcc/profile.c b/gcc/profile.c index bde8b4677f9..2334101ba8c 100644 --- a/gcc/profile.c +++ b/gcc/profile.c @@ -409,8 +409,17 @@ read_profile_edge_counts (gcov_type *exec_counts) e->count = exec_counts[exec_counts_pos++]; if (e->count > profile_info->sum_max) { - error ("corrupted profile info: edge from %i to %i exceeds maximal count", - bb->index, e->dest->index); + if (flag_profile_correction) + { + static bool informed = 0; + if (!informed) + inform (input_location, + "corrupted profile info: edge count exceeds maximal count"); + informed = 1; + } + else + error ("corrupted profile info: edge from %i to %i exceeds maximal count", + bb->index, e->dest->index); } } else