This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/37333] [4.4 Regression] ICE in ira_flattening, at ira-build.c:2146
- From: "vmakarov at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Sep 2008 13:45:30 -0000
- Subject: [Bug rtl-optimization/37333] [4.4 Regression] ICE in ira_flattening, at ira-build.c:2146
- References: <bug-37333-9596@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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