[LLVMdev] Register allocation questions

Sam Kaplan skaplan at etinternational.com
Wed May 5 10:54:12 PDT 2010


Hello,

I am currently working another register allocator for LLVM, and I have a 
few questions.

I have a list of LiveIntervals that interfere with each other, and once 
I figure out that I need to spill one of these, I'm using 
LiveIntervals::addIntervalsForSpills to generate spill code. I'm not 
sure I'm using this function correctly (or if it's even the right thing 
to use). Here are a few questions:

- What exactly is the SpillIs parameter for this function?

- The return value is a vector of LiveIntervals, but it looks like they 
have all been added to the LiveIntervals object already. Is this correct?

- Is the Spiller class functional? Using the -new-spill-framework option 
with the linearscan allocator is giving me crashes.

I'm using LLVM 2.6 (it's a project-wide requirement). It doesn't look 
like much of what I'm using has been changed for 2.7 anyway, but let me 
know if I'm wrong on this.

Thanks,
Sam



More information about the llvm-dev mailing list