RFC: LRA for x86/x86-64 [0/9]

Steven Bosscher stevenb.gcc@gmail.com
Mon Oct 1 10:11:00 GMT 2012


On Sun, Sep 30, 2012 at 7:03 PM, Richard Guenther
<richard.guenther@gmail.com> wrote:
> On Sun, Sep 30, 2012 at 6:52 PM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
>> Hi,
>>
>>
>> To look at it in yet another way:
>>
>>>  integrated RA           : 189.34 (16%) usr
>>>  LRA non-specific        :  59.82 ( 5%) usr
>>>  LRA virtuals eliminatenon:  56.79 ( 5%) usr
>>>  LRA create live ranges  : 175.30 (15%) usr
>>>  LRA hard reg assignment : 130.85 (11%) usr
>>
>> The IRA pass is slower than the next-slowest pass (tree PRA) by almost
>> a factor 2.5.  Each of the individually-measured *phases* of LRA is
>> slower than the complete IRA *pass*. These 5 timevars together make up
>> for 52% of all compile time.
>
> That figure indeed makes IRA + LRA look bad.  Did you by chance identify
> anything obvious that can be done to improve the situation?

The " LRA create live range" time is mostly spent in merge_live_ranges
walking lists. Perhaps the live ranges can be represented better with
a sorted VEC, so that the start and finish points can be looked up on
log-time instead of linear.

Ciao!
Steven



More information about the Gcc-patches mailing list