|Simple register allocation for assembly email@example.com (Falk Hueffner) (2003-01-07)|
|Re: Simple register allocation for assembly firstname.lastname@example.org (2003-01-12)|
|Re: Simple register allocation for assembly email@example.com (Christian Bau) (2003-01-17)|
|Re: Simple register allocation for assembly firstname.lastname@example.org (Rob Thorpe) (2003-01-17)|
|Re: Simple register allocation for assembly email@example.com (2003-01-25)|
|Re: Simple register allocation for assembly firstname.lastname@example.org (2003-01-27)|
|From:||Falk Hueffner <email@example.com>|
|Date:||7 Jan 2003 23:28:46 -0500|
|Posted-Date:||07 Jan 2003 23:28:46 EST|
To keep assembler sources more readable and less error prone, I would
like to write a simple register allocator that replaces symbolic names
with registers, e. g.
addq foo, bar, baz
addq $0, $1, $2
There are only instructions with 0 to 3 inputs and 0 to 1 outputs,
conditional branches, and unconditional branches. No spilling is to be
done, if no register allocation can be done, the program should
abort. Also, I expect very small input sizes, so resource usage is not
very important. So at first glance this looks pretty easy, but I can't
really come up with a simple algoritm, any hints?
Return to the
Search the comp.compilers archives again.