managing register spills?

gclind01@starbase.spd.louisville.edu (George C. Lindauer)
10 Jun 1997 23:58:34 -0400

          From comp.compilers

Related articles
managing register spills? gclind01@starbase.spd.louisville.edu (1997-06-10)
Re: managing register spills? cliffc@risc.sps.mot.com (Cliff Click) (1997-06-13)
Re: managing register spills? preston@cs.rice.edu (1997-06-13)
Re: managing register spills? dlmoore@ix.netcom.com (David L Moore) (1997-06-13)
| List of all articles for this month |

From: gclind01@starbase.spd.louisville.edu (George C. Lindauer)
Newsgroups: comp.compilers
Date: 10 Jun 1997 23:58:34 -0400
Organization: University of Louisville
Keywords: registers, code, optimize

It seems easy enough, but suppose I have two register banks, register
bank A and register bank B. All the registers in both banks are
overused and have spilled. Now I want to move a value from bank A to
bank B, allocating a new register in bank B and freeing the old one
from bank A. Clearly, the free will cause an unspill, and the
allocate will cause a spill. But if I free the bank a register BEFORE
the move I've lost the value I want to move. And if I free it AFTER
the move this is invalid because I've spilled from bank B and since I
am using a stack to manage the spills the bank A unspill value is no
longer available. An exchange instruction would be nice about
now... unfortunately I don't have one.


What do I do?


David
--


Post a followup to this message

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