Unrolling and spilling

Stephan Ceram <linuxkaffee_@_gmx.net>
28 Jan 2009 23:24:40 GMT

          From comp.compilers

Related articles
Unrolling and spilling linuxkaffee_@_gmx.net (Stephan Ceram) (2009-01-28)
Re: Unrolling and spilling SidTouati@inria.fr (Sid Touati) (2009-01-29)
Re: Unrolling and spilling harold.aptroot@gmail.com (Harold Aptroot) (2009-01-29)
Re: Unrolling and spilling cr88192@hotmail.com (cr88192) (2009-01-30)
Re: Unrolling and spilling carlie@jyarborough.com (Carlie Coats) (2009-05-23)
| List of all articles for this month |

From: Stephan Ceram <linuxkaffee_@_gmx.net>
Newsgroups: comp.compilers
Date: 28 Jan 2009 23:24:40 GMT
Organization: Compilers Central
Keywords: optimize, question
Posted-Date: 29 Jan 2009 05:28:26 EST

In many compiler books and papers you read that loop unrolling
possibly increases register pressure that leads to extra spill code. I
don't see the reason how this can happen. When you perform unrolling
at assembly level, the loop bodies are just replicated, so the
register life ranges are not really increased. Also, when unrolling is
done at the source code, I don't really see a reason why the register
allocation should add more spill instructions. More spilling would
mean that you have a change in the life ranges of the variables that
adversely influenced the interference graph. But why should I get
more conflicting life ranges after unrolling?


The only reason I see are instruction scheduling techniques that might
mix up life ranges but the literature does not mention these
optimizations in context of spilling and unrolling.


Best,
Tim



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.