------- Comment #3 from vmakarov at redhat dot com  2008-09-06 13:45 -------
 Function ira_emit.c::update_costs does not take into account that new allocnos
(It is very rare event. New allocnos during code emitting are created only to
break a cycle in register shuffling on the region border) got 1 as initial
frequency.  That was done to prevent division by zero in
ira_color.c::update_conflict_hard_reg_costs.  As a result we get negative
frequency in IR flattening when there is a different allocation of a pseudo on
the region border and a new allocno is used to copy pseudo values (outside and
inside  the border).

The patch solving the problem will be sent soon.


-- 


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

Reply via email to