On 12-09-30 4:42 PM, Steven Bosscher wrote:
On Sun, Sep 30, 2012 at 7:03 PM, Richard Guenther
<richard.guent...@gmail.com> wrote:
On Sun, Sep 30, 2012 at 6:52 PM, Steven Bosscher <stevenb....@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?
Not really. It was what I was looking/hoping for with the multiple
timevars, but no cheese.
I spent a lot of time to speed up LRA code. So I don't think there is a
simple solution. The problem can be solved by using by simpler
algorithms which results in generation of worse code. It is not one
week work even for me.