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

--- Comment #2 from Stupachenko Evgeny <evstupac at gmail dot com> ---
I can't share CoreMark sources.
However, you can get them at www.coremark.org when accept the license.

The error caused by edge->count of new edges which is grater than max_count:
(line 902)
gcc_assert (max_count >= edge->count);

The new edge is generated in case of indirect inline:

(line 1517)
if (flag_indirect_inlining)    
  new_indirect_edges.create (8);

and does not participate in max_count calculation, but refers to it when adding
to a heap:

(lines 1724 and 1761)
if (flag_indirect_inlining)                            
  add_new_edges_to_heap (edge_heap, new_indirect_edges);

Updating max_count with new_edges counts resolves the ICE.

Reply via email to