Factor/GSoC/2009/More advanced compiler optimizations

Mentor

Slava Pestov

Skills required

  • Understanding of compilers

Technical outline

Factor has a fairly advanced optimizing compiler, but improvements can be made to it. The suggestions below are roughly in order of difficulty. This is an open-ended project, and it would be unreasonable to expect a student to complete all of them.

  • Implement unboxing of word-size integers
  • Improvements to escape analysis
  • Make value numbering and alias analysis global, rather than local. This will enable global float unboxing.
  • Modify the IR to be aware of memory instructions, to make alias analysis stronger.
  • Implement some simple interprocedural analysis. It might be tricky to combine this with word redefinition and keep things efficient. Right now, inlining is often used to enable optimizations between words, but this is not a good general solution as it increases code size.

Benefit to student

The student learns about compilers.

Benefit to community

Nearly all Factor programs would become faster with these compiler optimizations.

This revision created on Fri, 13 Mar 2009 18:06:38 by littledan