1986 · 32 citations · 11 references
ComputingComputer EngineeringComputer ScienceAlgorithmsCompilersComputer ArchitectureAbstract Syntax TreesCode GenerationInstruction SelectionRegister AllocationAddressingDynamic Programming For Instruction SelectionHeuristic Instruction SelectionLocal Instruction SelectionPattern-based Instruction SelectionTree Pattern Matching
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.
11
Christoph M. Hoffmann, Michael J. O’Donnell · Journal of the ACM · 1982 · 440 citations · Full text
S. C. Johnson · 1978 · 122 citations · Full text
A practical tool kit for making portable compilers
Andrew S. Tanenbaum, Hans van Staveren, Ed G. Keizer et al. · Communications of the ACM · 1983 · 96 citations · Full text
Efficient tree pattern matching (extended abstract)
Alfred V. Aho, Mahadevan Ganapathi · 1985 · 40 citations · Full text