[LLVMdev] Register allocation balancing issues

nkavv at physics.auth.gr nkavv at physics.auth.gr
Fri Nov 9 18:38:20 PST 2007

Hi Fernando

> > Another take (and quite not a longshot although probably Fernando -- thanks
> for
> > the debugger, will try it -- has worked either alone or with NVK on the ILP
> > formulation) is to write-up constraints for an ILP (integer linear
> programming)
> > solution. I wouldn't mind to wait forever (for several minutes that is ^_^)
> for
> > a valid register allocation to complete. My application programs range
> between
> > 50 (the smallest) to about 2K instructions. Basic blocks would be anything
> from
> > a few instructions to a few hundreds of instructions.
> Hi, actually, I have not done anything towards ILP for register
> allocation, but two of my friends have. Actually, there is a
> branch-and-bound solver for LLVM that produces very nice results. It was
> coded by Lang Hames, and I am using it in some tests. If you need the
> algorithm, I guess Lang can give it to you.
> best,

I'm very glad to hear about the branch-and-bound solver that is in use in your
team. If possible, I would like to try it.

My soft core processor can be configured for up to 256 registers, so for such a
large number of registers, certain things come in mind (and do quite affect
performance) like register rotation etc. But first of all i would like to see
if a good balancing can be obtained with longer allocation times, so the
b-and-b solver sounds good.

Again, thanks for your offer. BTW my own tools (it is a diverse sets of thingys)
can be found here (feel free to download any):


Kind regards
Nikolaos Kavvadias

More information about the llvm-dev mailing list