|
ABSTRACT
High-quality local code generation is one of the most difficult tasks the compiler-writer faces. Even if register allocation decisions are postponed and common subexpressions are ignored, instruction selection on machines with complex addressing can be quite difficult. Efficient and general algorithms have been developed to do instruction selection, but these algorithms fail to always find optimal solutions. Instruction selection algorithms based on dynamic programming or complete enumeration always find optimal solutions, but seem to be too costly to be practical. This paper describes a new instruction selection algorithm, and its prototype implementation, based on bottom-up tree pattern-matching. This algorithm is both time and space efficient, and is capable of doing optimal instruction selection for the DEC VAX-11 with its rich set of addressing modes.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
 |
2
|
Philippe Aigrain , Susan L. Graham , Robert R. Henry , Marshall Kirk McKusick , Eduardo Pelegri-Llopart, Experience with a Graham-Glanville style code generator, Proceedings of the 1984 SIGPLAN symposium on Compiler construction, p.13-24, June 17-22, 1984, Montreal, Canada
|
| |
3
|
|
 |
4
|
|
 |
5
|
|
| |
6
|
|
| |
7
|
{GAN81} Ganapathi, M. and Fischer, C. A Review of Automatic Code Generation Techniques. Technical Report #407, University of Wisconsin - Madison, 1981.
|
 |
8
|
|
| |
9
|
|
 |
10
|
Susan L. Graham , Robert R. Henry , Robert A. Schulman, An experiment in table driven code generation, Proceedings of the 1982 SIGPLAN symposium on Compiler construction, p.32-43, June 23-25, 1982, Boston, Massachusetts, United States
|
| |
11
|
|
| |
12
|
{HAT83} Hatcher, P. and Christopher, T. Using Aho and Johnson's Linear Dynamic Programming Code Generation Algorithm in a Table-Driven Code Generator. Technical Report #49--83, Department of Computer Science, Illinois Institute of Technology, 1983.
|
| |
13
|
{HAT85a} Hatcher, P. CGG User's Guide (Versions 1.1 & 2.0). Technical Report #49-85, Department of Computer Science, Illinois Institute of Technology, 1985.
|
| |
14
|
|
| |
15
|
|
 |
16
|
|
| |
17
|
{HOR85} Horspool, R. and Scheunemann, A. Automating the Selection of Code Templates. <i>Software-Practice And Experience</i> 15, May 1985, pp. 503--514.
|
 |
18
|
|
 |
19
|
|
| |
20
|
{LEV80} Leverett, B., Cattell, R., Hobbs, S., Newcomer, J., Reiner, A., Schatz, B. and Wulf, W. An Overview of the Production-Quality Compiler-Compiler Project. <i>Computer</i> <b>13,</b> August 1980, pp. 38--49.
|
 |
21
|
|
 |
22
|
|
|