On 10/07/2012 02:52 PM, Steven Bosscher wrote:
On Sat, Oct 6, 2012 at 4:52 AM, Vladimir Makarov wrote:
Without this patch:
Compressing live ranges: from 700458 to 391665 - 55%, pre_count
40730653, post_count 34363983
max per-reg pre_count 12978 (228090, 2 defs, 2 uses) (reg/f:DI 228090
[ SR.25009 ])
max per-reg post_count 10967 (228090, 2 defs, 2 uses) (reg/f:DI 228090
[ SR.25009 ])
With this patch:
Compressing live ranges: from 700458 to 372585 - 53%, pre_count
283937, post_count 271120
max per-reg pre_count 545 (230653, 542 defs, 542 uses) (reg/f:DI
230653 [ SR.13303 ])
max per-reg post_count 544 (230649, 542 defs, 542 uses) (reg/f:DI
230649 [ SR.13305 ])
(the per-reg counts are the lengths of the live range chains for the
mentioned regno).
Yes, that is impressive. But I think, #points in a live range is a real
parameter of the complexity.
Yes, that's probably true, except for the compression stuff.
Here's the final patch, bootstrapped&tested on
x86_64-unknown-linux-gnu. OK for the LRA-branch?
Yes. Thanks, Steven.
Optimizing live ranges is a real fun. I guess there is some potential
to improve function to check live ranges intersection and merging.