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:26:36 -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:26 -------
(In reply to comment #28)
> Using var_to_partition does not help. The reason is that the SSA names with
> the same root var are not in the same partition, e.g.
>
> <retval>_7 --> <retval>
> x_3 --> x
> x_4 not coalesced with x --> New temp: 'x.0'
> x_5 not coalesced with x.0 --> New temp: 'x.1'
<...>
>
> Partition 0 (a - 1 )
> Partition 1 (b - 2 )
> Partition 2 (x - 3 )
> Partition 3 (x.0 - 4 )
> Partition 4 (x.1 - 5 )
> Partition 5 (<retval> - 7 )
>
> So if you replace the root var comparison in my hack with a check to make sure
> def and def2 are not in the same partition, that whole check will always be
> false and you still get crap code.
>
of course. doh. Accumulation will result in live range splitting, so they will
all be different variables. Stick with checking the root variable, its probably
our simplest measure I guess. :-)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17549