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