Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/292540.292562acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

Optimal code selection in DAGs

Published: 01 January 1999 Publication History

Abstract

We extend the tree parsing approach to code selection to DAGs. In general, our extension does not produce the optimal code selection for all DAGs (this problem would be NP-complete), but for certain code selection grammars, it does. We present a method for checking whether a code selection grammar belongs to this set of DAG-optimal grammars, and use this method to check code selection grammars adapted from lcc: the grammars for the MIPS and SPARC architectures are DAG-optimal, and the code selection grammar for the 386 architecture is almost DAG-optimal.

References

[1]
A. Balachandran, D. M. Dhamdhere, and S. Biswas. Efficient retargetable code generation using bottom-up tree pattern matching. Computer Languages, 15(3):127-140, 1990.
[2]
John Boyland and Helmut Emmelmann. Discussion: Code generator specification techniques (summary). In Robert Giegerich and Susan L. Graham, editors, Code Generation -- Concepts, Tools, Techniques, Workshops in Computing, pages 66-69. Springer, 1991.
[3]
David R. Chase. An improvement to bottomup tree pattern matching. In Fourteenth Annual A CM Symposium on Principles of Programming Languages, pages 168-177, 1987.
[4]
Jack W. Davidson and Christopher W. Fraser. Code selection through object code optimization. A CM 7~nsactions on Programming Languages and Systems, 6(4):505-526, October 1984.
[5]
M. Anton Ertl and Christian Pirker. The structure of a Forth native code compiler. In EuroForth '97 Conference Proceedings, pages 107-116, Oxford, 1997.
[6]
Helmut Emmelmann, Friedrich-Wilhelm SchrSer, and Rudolf Landwehr. BEG - a generator for efficient back ends. In SIGPLAN '89 Conference on Programming Language Design and Implementation, pages 227-237, 1989.
[7]
Christopher W. Fraser and David R. Hanson. A code generation interface for ANSI C. Software~ Practice and Experience, 21(9):963-988, September 1991.
[8]
Christopher Fraser and David Hanson. A Retargetable C compiler: Design and implementation. Benjamin/Cummings Publishing, 1995.
[9]
Christopher W. Fraser, David R. Hanson, and Todd A. Proebsting. Engineering a simple, efficient code generator generator. A CM Letters on Programming Languages and Systems, 1993. Available from ftp: / / ft p. cs. princet on. edu/pub/ib urg. tar. Z.
[10]
Todd A. Proebsting. BURS automata generation. A CM Transactions on Programming Languages and Systems, 17(3):461-486, May 1995.
[11]
Todd Proebsting. Least-cost instruction selection in DAGs is NP-complete. http://research, microsoft.corn/toddpro/papers/proof.htm, 1998.
[12]
Todd A. Proebsting and Benjamin R. Whaley. One-pass, optimal tree parsing- with or without trees. In Tibor GyimSthy, editor, Compiler Construction (CC'96), pages 294-308, LinkSping, 1996. Springer LNCS 1060.
[13]
Alan L. Wendt. Fast code generation using automatically-generated decision trees. In SIG- PLAN '90 Conference on Programming Language Design and implementation, pages 9-15, 1990.

Cited By

View all
  • (2018)Fast and flexible instruction selection with constraintsProceedings of the 27th International Conference on Compiler Construction10.1145/3178372.3179501(93-103)Online publication date: 24-Feb-2018
  • (2018)Compiling for VLIW DSPsHandbook of Signal Processing Systems10.1007/978-3-319-91734-4_27(979-1020)Online publication date: 14-Oct-2018
  • (2017)Complete and Practical Universal Instruction SelectionACM Transactions on Embedded Computing Systems10.1145/312652816:5s(1-18)Online publication date: 27-Sep-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '99: Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 1999
324 pages
ISBN:1581130953
DOI:10.1145/292540
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 1999

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

POPL99
POPL99: Symposium on Prinicples of Programming Languages 1999
January 20 - 22, 1999
Texas, San Antonio, USA

Acceptance Rates

POPL '99 Paper Acceptance Rate 24 of 136 submissions, 18%;
Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)85
  • Downloads (Last 6 weeks)9
Reflects downloads up to 26 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Fast and flexible instruction selection with constraintsProceedings of the 27th International Conference on Compiler Construction10.1145/3178372.3179501(93-103)Online publication date: 24-Feb-2018
  • (2018)Compiling for VLIW DSPsHandbook of Signal Processing Systems10.1007/978-3-319-91734-4_27(979-1020)Online publication date: 14-Oct-2018
  • (2017)Complete and Practical Universal Instruction SelectionACM Transactions on Embedded Computing Systems10.1145/312652816:5s(1-18)Online publication date: 27-Sep-2017
  • (2015)Modeling Universal Instruction SelectionPrinciples and Practice of Constraint Programming10.1007/978-3-319-23219-5_42(609-626)Online publication date: 13-Aug-2015
  • (2013)Compiling for VLIW DSPsHandbook of Signal Processing Systems10.1007/978-1-4614-6859-2_36(1177-1214)Online publication date: 10-May-2013
  • (2012)Compiling for automatically generated instruction set extensionsProceedings of the Tenth International Symposium on Code Generation and Optimization10.1145/2259016.2259019(13-22)Online publication date: 31-Mar-2012
  • (2011)Fast graph-based instruction selection for multi-output instructionsSoftware—Practice & Experience10.1002/spe.103441:6(717-736)Online publication date: 1-May-2011
  • (2010)Instruction selection by graph transformationProceedings of the 2010 international conference on Compilers, architectures and synthesis for embedded systems10.1145/1878921.1878926(31-40)Online publication date: 24-Oct-2010
  • (2010)Compiling for VLIW DSPsHandbook of Signal Processing Systems10.1007/978-1-4419-6345-1_22(603-638)Online publication date: 16-Jul-2010
  • (2008)Generalized instruction selection using SSA-graphsACM SIGPLAN Notices10.1145/1379023.137566343:7(31-40)Online publication date: 12-Jun-2008
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media