Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

EPIC - a retargetable, highly optimizing Lisp compiler

Published: 01 July 1986 Publication History

Abstract

The Experimental Portable Standard Lisp Compiler (EPIC) is a compiler testbed for experimentation with, and development of, Lisp compilation strategies. EPIC uses an architectural description of the target machine to increase portability, and performs extensive optimizations in the form of source-to-source transformations, register allocation, and peephole optimization. It introduces machine-specific instructions early to enable machine-specific optimizations in the initial passes. EPIC produces better code than the original Portable Standard Lisp compiler, has an improved portability model, and is easier to maintain.

References

[1]
Aho, A. V.; Setlfi, R.; Ullmal3, J. D. Compilers. Principles, Techniques, and Tools. Addison Wesley, Reading, Massachusetts, 1986.
[2]
Baker, H. G. Shallow Binding in LISP 1.5. Communications of the ACM 21(7):565, July, 1978.
[3]
Brooks, R. A.; Gabriel, R. P.; Steele, G. L. Jr. An Optimizing Compiler for LexicaUy Sc.oped LISP. In Proceedings of the SIGPLAN 1982 Symposium on Compiler Construction, pages 261-275. ACM SIGPLAN, June, 1982.
[4]
Chaitin, G. J. Register Allocation and Spilling via Graph Coloring. In Proceedings of the SIGPI2tN 1982 Symposium on Co~iler Construction, pages 98-105. ACM SIGPLAN, June, 1982.
[5]
Davidson, J. W. A Retargetable Instruction Reorganizer. Computer Science Technical Report 85-22, University of Virginia, Departnent of Computer Science, September, 1985.
[6]
Duggan, G. P. Optimizations as Transformations: A Compiler Paradigm. Master's thesis, University of Utah, Depaxtment of Computer Science, August, 1985.
[7]
Gabriel, R. P. Performance and Evaluation of Lisp Systems. MIT Press, Cambridge, Ma, 1985.
[8]
Galway, W. F. A Pattern Compiler for LISP. Utah PASS Project Opnote 84-02, University of Utah, Deparment of Computer Science, November, 1984.
[9]
Griss, M. L.; Heam, A. C. A Portable LISP Compiler. Sojh#are - Practice and Experience 11:541-605, June, 1981.
[10]
Griss, M. L.; Benson, E.; Maguire, G. Q. Jr. PSL: A Portable LISP System. In Proceedings of the 1982 ACM Symposium on LISP and Functional Progranuning, pages 88-97. ACM, Carnegie-Mellon University, Pittsburgh, Pa., 1982.
[11]
Griss, M. L.; Benson. g.; Hearn, A. C. Current Status of a Portable LISP Compiler. In Proceedings of the SIGPLAN 1982 Symposium on Compiler Construction, pages 276-283. ACM SIGPLAN, June, 1982.
[12]
Kessler, R. R. COG: An Architectural-Description-Driven Compiler Generator. PhD thesis, University of Utah, Department of Computer Science, January, 1981.
[13]
Kessler, R. R. Peep - An Architectural Description Driven Peephole Optimizer. In Proceedings of the 1984 Compiler Construction Conference, pages 106-110. ACM, Montreal, Canada, June, 1984.
[14]
Kessler, R. R.; Shebs, S. T.; I,oosemore, S. J.; Galway, W. F. A Portable Common Lisp Subset with High Performance. In Submitted to the ACM 1986 Lisp and Functional Programming Conference, February, 1985, pages. June, 1986.
[15]
Knell, J. Resource Allocation in an Experimental Lisp Compiler. Master's thesis, University of Utah, Department of Computer Science, 1986.
[16]
Lanam, D.; Letsinger R.; Rosenberg S.; Huyn P.; Lemon M. Guide to the Heuristic Programming and Representation Language Part 1: Frames. Application Technology AT-M-1, Hewlett- Packard Company, January, 1984.
[17]
Leverett, B. W.; Cartel, R. G. G.; Hobss, S. 04 Newcomer, J. M.; Reiner, A. H.; Schatz, B. R.; Wulf, W. A. An Overview of the Production Quality Camp iler-C tmlp i ler Project. Technical Report CMU-CSD-79-105, Carnegie-Mellon University Computer Science Department, Pittsburgh, Pennsylvania, February, 1979.
[18]
Leverett, B. W.; Cattell, R. G. G.; Hobbs, S. O.; Newcomer, J. M.; Reiner, A. H.; Schaltz, B. R.; Wulf, W. A. An Overview of the Production Quality Compiler-Compiler Project. Computer 13(8):38-49, August, 1980.
[19]
Leverett, B. W. Register Allocation in Optimizing Compilers. UMI Research Press, Ann Arbor, Michigan, 1983.
[20]
Milner, R. A Theory of Type Polymorphism in Programming. Journal of Computer and System Science 17(3):348-375, December, 1978.
[21]
Othmer, B. A. The Implementation of EPIC Pass Two. Utah PASS Project Opnote 84-14, University of Utah, Department of Computer Science, March, 1985.
[22]
Patterson, D.A., Sequin, C.H. A VI~I RISC. Memo UCB/ERL M82 10, UCB Electronics Research Laboratory, Berkeley, California, February, 1982.
[23]
Peterson, J. C. EPIC - The Design of an Experimental PSL Compiler. Utah PASS Project Opnote 84-12, University of Utah, Department of Computer Science, October, 1984.
[24]
Peterson, J. C. The Implementation of EPIC Pass One. Utah PASS Project Opnotc 84-13, University of Utah, Department of Computer Science, October, 1984.
[25]
Peterson, J. C. 68000 Based Code Generation in EPIC. Utah PASS Project Opnote 85-03, University of Utah, Department of Computer Science, January, 1985.
[26]
Steele, G. L. Common Lisp: The Language. Digital Press, Burlington, MA 01803, 1985.
[27]
Wulf, W.; Johnson, R. K.; Weinstock, C. B.; Hobbs, S. O.; Geschke, C. M. The Design of an Optimizing Compiler. American Elsevier, New York, 1975.
[28]
Yhap, E. F. General register assignment in presence of data flow. Technical Report RC-5645, IBM T. J. Watson Research Center, Yorktown Heights, 1975.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 21, Issue 7
July 1986
275 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/13310
Issue’s Table of Contents
  • cover image ACM Conferences
    SIGPLAN '86: Proceedings of the 1986 SIGPLAN symposium on Compiler construction
    July 1986
    275 pages
    ISBN:0897911970
    DOI:10.1145/12276

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 July 1986
Published in SIGPLAN Volume 21, Issue 7

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)82
  • Downloads (Last 6 weeks)7
Reflects downloads up to 23 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (1990)A logical approach to program analysisLisp and Symbolic Computation10.1007/BF018060604:1(5-27)Online publication date: 1-Dec-1990
  • (1993)Compile-Time Type Prediction and Type Checking for Common Lisp ProgramsIntelligent Systems10.1007/978-1-4615-2836-4_8(127-142)Online publication date: 1993
  • (1991)HAREACM SIGPLAN Notices10.1145/122203.12221126:1(109-120)Online publication date: 1-Jan-1991
  • (1987)Implementing and Optimizing Lisp for the CrayIEEE Software10.1109/MS.1987.2310674:4(74-83)Online publication date: 1-Jul-1987
  • (1986)Desiderata for the standardization of LISPProceedings of the 1986 ACM conference on LISP and functional programming10.1145/319838.319850(54-66)Online publication date: 8-Aug-1986

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media