Abstract
Instruction-level parallel architectures present their own set of opportunities and needs, requiring the development of a new class of compiler optimization techniques. Dynamic single assignment is presented as a parallel program representation that permits programs, with cyclic control flow graphs, to be expressed in their maximally parallel form (i.e., with a minimal number of dependence arcs). Also, a data flow analysis technique is outlined that extends to subscripted references the full power of conventional techniques that normally only work with scalar variables. The focus is on the representation and analysis of programs containing subscripted references with an emphasis on innermost loops whose bodies contain arbitrary, acyclic control flow.
Preview
Unable to display preview. Download preview PDF.
References
Aho, A. V., Sethi, R. and Ullman, J. D. Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading, Mass. 1985.
Arvind and Gostelow, K. The U-interpreter. Computer, 15, 2, February 1982.
Callahan, D., Carr, S. and Kennedy, K. Improving Register Allocation for Subscripted Variables. Proc. ACM SIGPLAN'90 Conf. on Prog. Lang. Design and Implem., 53–65, White Plains, New York, June 1990.
Chen, S. S. Large-Scale and High-Speed Multiprocessor System for Scientific Applications: CRAY-X-MP Series. In High-Speed Computation, J. S. Kowalik, Ed., NATO ASI Series F: Computer and System Sciences, Vol. 7, Springer, Berlin, 1984.
Colwell, R. P., et al. A VLIW Architecture for a Trace Scheduling Compiler. Proc. 2nd Intl. Conf. on Arch. Support for Prog. Lang. and Oper. Syst., Palo Alto, California, October 1987.
Cytron, R., Ferrante, J., Rosen, B. K., Wegman, M. N., Zadek, K. An efficient method of computing static single assignment. Proc. 16th Ann. Symp. on Principles of Prog, Lang., 25–35, Austin, Texas, January 1989.
Dehnert, J. C., Hsu, P. Y.-T. and Bratt, J. P. Overlapped Loop Support in the Cydra 5. Proc. 3rd Intl. Conf. on Arch. Support for Prog. Lang. and Oper. Syst., Boston, Mass., 26–38, April 1989.
Dennis, J. B. First Version of a Data Flow Procedure Language. Proc. of Programming Symp., Paris 1974, Lecture Notes in Computer Science 19, Springer Verlag, Berlin, 1974.
Ellis, J. R. Bulldog: A Compiler for VLIW Architectures. The MIT Press, Cambridge, Mass. 1985.
Ferrante, J., Ottenstein, K. J. and Warren, J. D. The Program Dependence Graph and its Use in Optimization. ACM Trans. on Prog, Lang. and Systems, 9, 3, 319–349, July 1987.
Johnson, M. Superscalar Microprocessor Design. Prentice-Hall, Englewood Cliffs, New Jersey. 1991.
McMahon, F. H. The Livermore Fortran Kernels: A Computer Test of the Numerical Performance Range. Technical Report UCRL-53745, Lawrence Livermore National Laboratory, December 1986.
Pingali, K., Beck, M., Johnson, R., Moudgill, M. and Stodghill, P. Dependence flow graphs: an algebraic approach to program dependencies. Conf. Record of the 18th Ann. ACM Symp, on Principles of Programming Languages, 67–78, Orlando, Florida, January 1991.
Rau, B. R., Yen, D. W. L., Yen, W. and Towle, R. A. The Cydra 5 Departmental Supercomputer: Design Philosophies, Decisions and Trade-offs. Computer, 22, 1, January 1989.
Tesler, L. G. and Enea, H. J. A Language Design for Concurrent Processes. Proc. AFIPS Spring Joint Computer Conference, 403–408, 1968.
Traub, K. R. A Compiler for the MIT Tagged-Token Dataflow Architecture. Technical Report MIT/LCS/TR-370, MIT Laboratory for Computer Science, Cambridge, Mass., August 1986.
Zima, H. and Chapman, B. Supercompilers for Parallel and Vector Computers. ACM Press, New York. 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rau, B.R. (1992). Data flow and dependence analysis for instruction level parallelism. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1991. Lecture Notes in Computer Science, vol 589. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0038668
Download citation
DOI: https://doi.org/10.1007/BFb0038668
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55422-6
Online ISBN: 978-3-540-47063-2
eBook Packages: Springer Book Archive