Efficient tree pattern matching (extended abstract): an aid to code generation
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Journal of the ACM (JACM)
Retargetable Compiler Code Generation
ACM Computing Surveys (CSUR)
Automatic Derivation of Code Generators from Machine Descriptions
ACM Transactions on Programming Languages and Systems (TOPLAS)
A practical tool kit for making portable compilers
Communications of the ACM
Experience with a Graham-Glanville style code generator
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Using dynamic programming to generate optimized code in a Graham-Glanville style code generator
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
A multi-language compiler system with automatically generated codegenerators
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
A portable compiler: theory and practice
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
ICON Programmng Language
An experiment in table driven code generation
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
A practical method for code generation based on exhaustive search
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Formalization and automatic derivation of code generators.
Formalization and automatic derivation of code generators.
A machine independent algorithm for code generation and its use in retargetable compilers.
A machine independent algorithm for code generation and its use in retargetable compilers.
Retargetable code generation and optimization using attribute grammars
Retargetable code generation and optimization using attribute grammars
Graham/glanville code generators (compiler, parser, programming language)
Graham/glanville code generators (compiler, parser, programming language)
A tool for high-quality code generation (compiling)
A tool for high-quality code generation (compiling)
An improvement to bottom-up tree pattern matching
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Optimal code generation for expression trees: an application BURS theory
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Code generation using tree matching and dynamic programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
BURG: fast optimal instruction selection and tree parsing
ACM SIGPLAN Notices
Industrial strength compiler construction with equations
ACM SIGPLAN Notices
A framework for run-time systems and its visual programming language
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Extending Graham-Glanville techniques for optimal code generation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Forest FIRE and FIRE Wood: Tools for Tree Automata and Tree Algorithms
Proceedings of the 2009 conference on Finite-State Methods and Natural Language Processing: Post-proceedings of the 7th International Workshop FSMNLP 2008
Hi-index | 0.00 |
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.