Abstract
Automatic parallelization of C language programs is a difficult task due, for example, to side effects within expressions and access to memory via pointers. We describe a method based on semantic analysis of the language, in order to detect parallelism in complex programs using pointer arithmetic. We define semantic domains which respect the type system of the language, and use them to synthesize effect of the program through functional objects called transformations.
This article was processed using the LaTEX macro package with LLNCS style
Preview
Unable to display preview. Download preview PDF.
References
Allen R., Johnson S., Compiling C for Vectorization, Parallelization, and Inline Expansion. ACM PLDI88, June 1988
Ammarguellat Z., Restructuration des programmes Fortran en vue de leur parallélisation. Thèse de l'Université Paris 6, Rapport MASI 90.3, 1988.
American National Standard Institute, Draft Proposed American National Standard for Information Systems — Programming Langage C. Draft X3J11/88-002., January 1988.
Bodin F., Data Structure Analysis in C Programs. Int'l Workshop on Compilers for Parallel Computers, Paris, December 1990.
Chase D., Wegman M., Zadeck K., Analysis of Pointers and Structures. ACM-PLDI90, June 1990.
David P., Analyse sémantique des programmes en langage C en vue de leur parallélisation. Thèse de l'Université Paris 6, 1991 (Rapport MASI 91.60).
David P., Semantic Analysis of Straight Line C Code with Pointers. Rapport MASI 92.39 June 1992
Horwitz S., Pfeiffer P., Reps T., Dependence Analysis for Pointer Variables. ACM-PLDI89, 1989
Li K., A Note on the Vector C Language. ACM Symp. on Compiler Construction, SIGPLAN Notices Vol. 21, No 1, January 1986.
Polychronopoulos C., Girkar M., Haghighat M., Ling Lee C., Leung B., Schouten D., Parafrase-2: An Environment for Parallelizing, Partitioning, Synchronizing, and Scheduling Programs on Multiprocessors. Int'l Conf. on Parallel Processing, 1989.
Thornburg J., Number Crunching in C. SIGPLAN Notices, Vol. 21, No 6, June 1986.
Triolet R., Irigoin F., Feautrier P., Direct Parallelization of Call Statements. ACM Symp. on Compiler Construction, SIGPLAN Notices Vol. 21, No 7, July 1986.
Zima H., Chapman B., Supercompilers for Parallel and Vector Computers. ACM Press, Addison Wesley, 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
David, P. (1992). Semantic analysis for parallelizing C. In: Bougé, L., Cosnard, M., Robert, Y., Trystram, D. (eds) Parallel Processing: CONPAR 92—VAPP V. VAPP CONPAR 1992 1992. Lecture Notes in Computer Science, vol 634. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55895-0_465
Download citation
DOI: https://doi.org/10.1007/3-540-55895-0_465
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55895-8
Online ISBN: 978-3-540-47306-0
eBook Packages: Springer Book Archive