Abstract
Extant peephole optimizers can perform many optimizations that are handled by higher-level optimizers. This paper describes a retargetable instruction reorganizer that performs targeting and evaluation order determination by applying a well known algorithm for optimal code generation for expressions to object code. By applying the algorithm to object code after code generation and optimization, a phase ordering problem often encountered by higher-level optimizers is avoided. It minimizes the number of registers and temporaries required to compile expressions by rearranging machine instructions. For some machines, this can result in smaller and faster programs. By generalizing its operation, the reorganizer can also be used to reorder instructions to avoid delays in pipelined machines. For one pipelined machine, it has provided a 5 to 10 percent improvement in the execution speed of benchmark programs.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference25 articles.
1. Optimal Code Generation for Expression Trees
2. Code Generation for Expressions with Common Subexpressions
3. A. V. Aho R. Sethi and J. D. U11man Compilers Principles Techniques and Toots Addison-Wesley Reading MA 1986. A. V. Aho R. Sethi and J. D. U11man Compilers Principles Techniques and Toots Addison-Wesley Reading MA 1986.
4. An overview of the PL.8 compiler
5. Code Generation for a One-Register Machine
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献