[LLVMdev] Description Linear scan
Fernando Magno Quintao Pereira
fernando at CS.UCLA.EDU
Tue Oct 10 23:01:40 PDT 2006
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