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