This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/37333] [4.4 Regression] ICE in ira_flattening, at ira-build.c:2146



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]