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 tree-optimization/17549] [4.0 Regression] 10% increase in codesize with C code compared to GCC 3.3


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


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