Code Generation - Concepts, Tools, Techniques (Dagstuhl Seminar 9121)
Robert Giegerich, Susan Lochrie Graham · DROPS (Schloss Dagstuhl – Leibniz Center for Informatics) · 1991
The goal of the workshop was to evaluate the state of the art and to point out the major directions of research in code generation for the coming years.Most of the contributions were arranged around four topics: 0 Tools and techniques for code selection 0 Code generation for parallel architectures 9 Register allocation and phase ordering problems o Formal models and validation Besides these, there were contributions on some new topics such as dynamic compilation or object-oriented methods for code generation.The workshop had 36 participants, 20 from Europe and 16 from the USA. Tools and techniques for code selectionIt is widely agreed that tree pattern matching is the technique of choice for code selection.Much discussion was devoted to relating the BURS approach, tree parsing and the new approach of regular controlled rewriting .While the pure matching problem seems solved satisfactorily, the big problem to be solved is the integration of the pattern driven code selector with other code generation tasks.Considerate code selection allows to postpone decisions in the code selection phase.By contrast, existing tools incorporate a speci c way of where decisions are made.An engaged discussion on speci cation techniques (a protocol of this discussion is included) lead to the decision that a group of the participants would cooperate to make a pure BURS system available for public distribution. Code generation for parallel architecturesCoarse grain parallelism: This topic is characterised by attempts to provide a high-level, architecture independent model of parallelism to be used in programming and, on the other hand, programming techniques and languages features that expose the architecture to the programmer.The latter reduces compiler complexity, but also program portability.A summary of the discussion of this topis is included.