Re: Graph colouring and local register allocation

torbenm@app-1.diku.dk (Torben =?iso-8859-1?Q?=C6gidius?= Mogensen)
Wed, 05 Dec 2007 10:41:26 +0100

          From comp.compilers

Related articles
[7 earlier articles]
Re: Graph colouring and local register allocation gneuner2@comcast.net (George Neuner) (2007-12-01)
Re: Graph colouring and local register allocation sjdutoit@gmail.com (sdt) (2007-12-01)
Re: Graph colouring and local register allocation preston.briggs@gmail.com (preston.briggs@gmail.com) (2007-12-01)
Re: Graph colouring and local register allocation gneuner2@/comcast.net (George Neuner) (2007-12-01)
Re: Graph colouring and local register allocation pertti.kellomaki@tut.fi (=?ISO-8859-1?Q?Pertti_Kellom=E4ki?=) (2007-12-03)
Re: Graph colouring and local register allocation SidTouati@inria.fr (Sid Touati) (2007-12-04)
Re: Graph colouring and local register allocation torbenm@app-1.diku.dk (2007-12-05)
Re: Graph colouring and local register allocation SidTouati@inria.fr (Sid Touati) (2007-12-08)
Re: Graph colouring and local register allocation anton@mips.complang.tuwien.ac.at (2007-12-09)
Re: Graph colouring and local register allocation gah@ugcs.caltech.edu (glen herrmannsfeldt) (2007-12-09)
Re: Graph colouring and local register allocation SidTouati@inria.fr (Sid Touati) (2007-12-10)
| List of all articles for this month |

From: torbenm@app-1.diku.dk (Torben =?iso-8859-1?Q?=C6gidius?= Mogensen)
Newsgroups: comp.compilers
Date: Wed, 05 Dec 2007 10:41:26 +0100
Organization: Department of Computer Science, University of Copenhagen
References: 07-10-103 07-11-019 07-11-063 07-11-091 07-12-003 07-12-005 07-12-007 07-12-010
Keywords: registers, parallel
Posted-Date: 08 Dec 2007 01:12:12 EST

Pertti Kellomdki <pertti.kellomaki@tut.fi> writes:


> So what are the trade-offs for ILP vs. non-ILP register
> allocation? It is pretty clear that you don't want to
> introduce unnecessary dependences in you code by register
> reuse in the ILP case, but is there more than that to it?


Actually, register reuse is not a problem on most OOO architectures,
as they use register renaming at runtime to avoid this kind of
dependencies. And on processors that do dynamic runtime scheduling,
compile-time scheduling is less important than avoiding spills: The
processor can to some extent schedule around a bad compile-time
schedule, but it can't undo a spill.


If you work with processors that have little or no runtime scheduling
but lots of registers (Itanium, Cell, etc.), then compile-time
scheduling becomes more important than register allocation.


Torben


Post a followup to this message

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