[LLVMdev] Description Linear scan

Fernando Magno Quintao Pereira fernando at CS.UCLA.EDU
Tue Oct 10 23:01:40 PDT 2006

Hey, guys,

     could someone tell me some high level things about the version of 
linear scan that you use?
1) The heuristics for spilling seems to be:
   (mop.isUse() + mop.isDef()) * pow(10.0F, (int)loopDepth
   besides not spilling defs that are immediatly followed by uses, do you 
do any other thing, such as, taking into consideration the size of the 
interval when spilling?

2) How do you avoid conflicts with machine registers already in the target 
code, such as the ones used to pass parameters in Power PC? Do you simply 
try to use the callee save registers as much as possible, and if there are 
conflicts, do you spill, or do you try some optimization?

Thanks a lot,


More information about the llvm-dev mailing list