Optgen: A Generator for Local Optimizations

Optgen: A Generator for Local Optimizations
复制标题

Optgen:局部优化生成器

DOI:
--
复制
发表时间:
2015
期刊:
International Conference on Compiler Construction
影响因子:
--
通讯作者:
Sebastian Buchwald
Sebastian Buchwald
中科院分区:
--
文献类型:
--
作者:
Sebastian Buchwald

文献摘要

被引文献

相似文献

每个编译器都有一组本地优化规则,例如X + 0→X和X&X→X,这些规则不需要任何全局分析。不幸的是,这些中间表示,这些手工制作的规则可以通过生成所有本地优化,从而解决了这一问题Optgen使用SMT求解器验证每个规则,它可以保证使用OptGen的生成规则集的正确性和完整性,我们测试了GCC,ICC和LLVM的最新版本,并确定了仅涉及仅两个操作的50多个丢失的本地优化。
Every compiler comes with a set of local optimization rules, such as x + 0 → x and x & x → x, that do not require any global analysis. These rules reflect the wisdom of the compiler developers about mathematical identities that hold for the operations of their intermediate representation. Unfortunately, these sets of hand-crafted rules guarantee neither correctness nor completeness. Optgen solves this problem by generating all local optimizations up to a given cost limit. Since Optgen verifies each rule using an SMT solver, it guarantees correctness and completeness of the generated rule set. Using Optgen, we tested the latest versions of gcc, icc and llvm and identified more than 50 missing local optimizations that involve only two operations.