Superoptimizer

Constructing an optimizer (typically available as part of a compiler) requires several man years of effort. The superoptimizer project is a novel approach to chip at this problem. Our system automatically generates a peephole optimizer for a given architecture. The peephole optimizations generated capture a large class of traditional data-flow optimizations and many non-traditional architecture-specific optimizations. The automatic approach allows it to scale to millions of peephole optimization rules. Our current implementation targets the x86 instruction set. A primary advantage of the superoptimization approach is that it is actually possible to guarantee optimality of short snippets of code. More details on the project can be found in this paper.

Source Code (date Nov. 26, 2006): superoptimizer-112606.tgz

People


Return to Home