Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Phase coupling and constant generation in an optimizing microcode compiler

Published: 05 October 1982 Publication History

Abstract

The designer of an optimizing compiler must concern himself with the order in which optimization phases are performed; a pair of phases may be interdependent in the sense that each phase could benefit from information produced by the other. In a compiler for a horizontal target architecture, one such phase-ordering problem occurs between code-generation and compaction. Presented here is an overview of a research effort at Carnegie-Mellon University which has examined solutions to this problem. One aspect of the code generation problem-that of generating constants “intelligently”-is discussed in detail. A technique, called constant-unfolding, is described that can be used to produce code sequences that generate constants in “unusual” ways during execution; such code sequences can lead to more compact code when the literal field of the microinstruction is a “bottleneck”.

References

[1]
Agerwala, T. Microprogram Optimization: A Survey. IEEE Transactions on Computers C-25(10):962-973, October, 1976.
[2]
Banerjee, U., Shen, S., Kuck, D. J. and Towle, R.A. Time and Parallel Processor Bounds for Fortran-Like Loops. IEEE Transactions on Computers C-28(9):660-670, September, 1979.
[3]
Cattell, R. G. G. Formalization and Automatic Derivation of Code Generators. PhD thesis, Carnegie-Mellon University, April, 1978.
[4]
DeWitt, D. J. A Machine Independent Approach to the Production of Optimized Horizontal Microcode. PhD thesis, University of Michigan, June, 1976.
[5]
Erman, L. D. and Lesser, V. R. The Hearsay-II System: A Tutorial. In Lea, W. A. (editor), Trends in Speech Recognition, chapter 16. Prentice-Hall, Englewood Cliffs, NJ, 1978.
[6]
Fisher, J. A. The Optimization of Horizontal Microcode Within and Beyond Basic Blocks: An Application of Processor Scheduling with Resources. PhD thesis, New York University, October, 1979.
[7]
Fisher, J. A., Landskov, D. and Shriver, B. D. Microcode Compaction: Looking Backward and Forward. In Proc. 1981 National Computer Conference, pages 95-102. AFIPS, 1981.
[8]
Fuller, S. H., Almes, G. T., Broadley, W. H., Forgy, C. L., Karlton, P. L., Lesser, V. R. and Teter, J. R. PDP-11/40E Microprogramming Reference Manual. Technical Report, Carnegie-Mellon University, January, 1976.
[9]
Landskov, D., Davidson, S., Shriver, B. and Mallett, P. W. Local Microcode Compaction Techniques. ACM Computing Surveys 12(3):261-294, September, 1980.
[10]
Leverett, B. W., Cattell, R. G. G., Hobbs, S. O., Newcomer, J. M., Reiner, A. H., Schatz, B. R. and Wulf, W. A. An Overview of the Production Quality Compiler-compiler Project. Technical Report CMU-CS-79-105, Carnegie-Mellon University, February, 1979.
[11]
Ma, P. Y. and Lewis, T. G. A Portable Efficient Microprogramming System for Emulator Development. Technical Report, Oregon State University, 1979.
[12]
Mallett, P. W. Methods of Compacting Microprograms. PhD thesis, University of Southwestern Louisiana, December, 1978.
[13]
Newell, A. Heuristic Programming: III-structured Problems. In Aronofsky, J. (editor), Progress in Operations Research, III, pages 360-414. Wiley, New York, 1969.
[14]
Nilsson, N. Problem Solving Methods in Artificial Intelligence. McGraw-Hill, 1971.
[15]
Ousterhout, J. K. Cm* Kmap Microprogramming Manual and Debugger Manual Carnegie-Mellon University, 1978.
[16]
Poe, M. D. Heuristics for the Global Optimization of Microprograms. In Proc. 13th Annual Workshop on, Microprogramming, pages 13-22. IEEE, December, 1980.
[17]
Poe, M. D., Goodell, R. and Steely, S. Jr. Issues of the Design of a Low Level Microprogramming Language for Global Microcode Compaction. In Proc. 14th Annual Workshop on Microprogramming, pages 88-94. IEEE, October, 1981.
[18]
Sint, M MIDL - A Microinstruction Description Language. In Proc. 14th Annual Workshop on Microprogramming, pages 95-106. IEEE, October, 1981.
[19]
Wood, W. G. The Computer Aided Design of Microprograms. PhD thesis, University of Edinburgh, November, 1979.

Cited By

View all
  • (2024)Modeling Erlang Compiler IR as SMT FormulasProceedings of the 23rd ACM SIGPLAN International Workshop on Erlang10.1145/3677995.3678193(45-54)Online publication date: 28-Aug-2024
  • (2024)Optimization Space Learning: A Lightweight, Noniterative Technique for Compiler AutotuningProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672588(36-46)Online publication date: 2-Sep-2024
  • (2024)Automatic Software Tailoring for Optimal PerformanceIEEE Transactions on Sustainable Computing10.1109/TSUSC.2023.33306719:3(464-481)Online publication date: May-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 October 1982
Published in SIGMICRO Volume 13, Issue 4

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)62
  • Downloads (Last 6 weeks)19
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Modeling Erlang Compiler IR as SMT FormulasProceedings of the 23rd ACM SIGPLAN International Workshop on Erlang10.1145/3677995.3678193(45-54)Online publication date: 28-Aug-2024
  • (2024)Optimization Space Learning: A Lightweight, Noniterative Technique for Compiler AutotuningProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672588(36-46)Online publication date: 2-Sep-2024
  • (2024)Automatic Software Tailoring for Optimal PerformanceIEEE Transactions on Sustainable Computing10.1109/TSUSC.2023.33306719:3(464-481)Online publication date: May-2024
  • (2023)Compiler Optimization for Quantum Computing Using Reinforcement Learning2023 60th ACM/IEEE Design Automation Conference (DAC)10.1109/DAC56929.2023.10248002(1-6)Online publication date: 9-Jul-2023
  • (2022)CTOS: Compiler Testing for Optimization Sequences of LLVMIEEE Transactions on Software Engineering10.1109/TSE.2021.305867148:7(2339-2358)Online publication date: 1-Jul-2022
  • (2022)POSET-RL: Phase ordering for Optimizing Size and Execution Time using Reinforcement Learning2022 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)10.1109/ISPASS55109.2022.00012(121-131)Online publication date: May-2022
  • (2018)A Survey on Compiler Autotuning using Machine LearningACM Computing Surveys10.1145/319797851:5(1-42)Online publication date: 18-Sep-2018
  • (2017)MiCOMPACM Transactions on Architecture and Code Optimization10.1145/312445214:3(1-28)Online publication date: 6-Sep-2017
  • (2017)BackgroundAutomatic Tuning of Compilers Using Machine Learning10.1007/978-3-319-71489-9_1(1-22)Online publication date: 23-Dec-2017
  • (2016)Tuning compilations landscape2016 2nd International Conference on Contemporary Computing and Informatics (IC3I)10.1109/IC3I.2016.7918029(575-583)Online publication date: Dec-2016
  • 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