This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/17549] [4.0 Regression] 10% increase in codesize with C code compared to GCC 3.3
- From: "amacleod at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Feb 2005 14:02:42 -0000
- Subject: [Bug tree-optimization/17549] [4.0 Regression] 10% increase in codesize with C code compared to GCC 3.3
- References: <20040918113641.17549.miguel55angel@hotmail.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From amacleod at redhat dot com 2005-02-08 14:02 -------
(In reply to comment #30)
> Subject: Re: [4.0 Regression] 10% increase in codesize with C code compared
to GCC 3.3
>
> On Mon, Feb 07, 2005 at 11:13:27PM -0000, steven at gcc dot gnu dot org wrote:
> > x = a + b;
> > x = x * a;
> > x = x * b;
> ...
> > After Coalescing:
> ...
> > Partition 2 (x_3 - 3 )
> > Partition 3 (x_4 - 4 )
> > Partition 4 (x_5 - 5 )
>
> That is curious. Certainly not the way I'd have expected things to work.
> Why are we not coalescing here? Do we think that x_4 as an input to the
> same insn that creates x_5 means that the two conflict? Unless someone
> can convince me otherwise, I'd call this a bug.
>
No we dont think that, but they are disjoint live ranges, so we want to keep
them seperate. we do live range splitting on the way out of SSA. there is no
conflict, just reason NOT to coalesce them. if there was a copy between them,
then we consider coalescing them.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17549