Abstract
Peephole optimizers are typically constructed using human-written pattern matching rules, an approach that requires expertise and time, as well as being less than systematic at exploiting all opportunities for optimization. We explore fully automatic construction of peephole optimizers using brute force superoptimization. While the optimizations discovered by our automatic system may be less general than human-written counterparts, our approach has the potential to automatically learn a database of thousands to millions of optimizations, in contrast to the hundreds found in current peephole optimizers. We show experimentally that our optimizer is able to exploit performance opportunities not found by existing compilers; in particular, we show speedups from 1.7 to a factor of 10 on some compute intensive kernels over a conventional optimizing compiler.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference13 articles.
1. Intel C++ Compiler 9.0. Software available at http://www.intel.com/software/products/compilers/clin. Intel C++ Compiler 9.0. Software available at http://www.intel.com/software/products/compilers/clin.
2. Superoptimizer prototype. Available on the web at http://cs.stanford.edu/~sbansal/superoptimizer/. Superoptimizer prototype. Available on the web at http://cs.stanford.edu/~sbansal/superoptimizer/.
3. Link-Time Optimization of IA64 Binaries
4. A portable global optimizer and linker
5. Code selection through object code optimization
Cited by
62 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献