Skip to main content
Log in

V-Pascal: An automatic vectorizing compiler for Pascal with no language extensions

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

An automatic vectorizing compiler called V-Pascal is described in detail. The compiler has been designed and implemented with a view to vectorizing Pascal source programs. Using the mechanism of vector indirect addressing, it reduces multiply nestedfor loops to equivalent single loops, which are then executed by vector mode with sufficiently long vector lengths. TheD matrix, which is an adjacency matrix giving dependences between intermediate code nodes, plays an important role in the V-Pascal compiler. It is demonstrated that, in some cases, the V-Pascal compiler yields object code that runs faster than the Fortran counterpart. This paper mainly presents the basic constituents of the Version 1 of the V-Pascal compiler. Version 2 includes higher functions such as vectorization ofwhile-do loops and recursive procedures, vectorization of character string manipulations and relational database operations (written in Pascal), and automatic parallel decomposition for multiprocessor environments.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Allen, J.R., Kennedy, K., Porterfield, C., and Warren, J. 1983. Conversion of control dependence to data dependence. InConf. Proc.—The 10th Annual ACM Symp. on Principles of Programming Languages, pp. 177–189.

  • Hockney, R.W., and Jesshope, C.R. 1981.Parallel Computers. Adam Hilger, Bristol, U.K.

    Google Scholar 

  • Kunieda, Y., and Tsuda, T. 1989. Methods of analyzing control flow relations for an automatic vectorizing compiler.Trans. Information Processing Soc. of Japan, 30, 9 (Sept.), pp. 1164–1174 (in Japanese).

    Google Scholar 

  • Tsuda, T. 1989. Asynchronous parallel execution of a multiply nested FOR loop by vector indirect addressing. InAspects of Computation on Asynchronous Parallel Processors, Proc. IFIP WG2.5 Working Conf. (Stanford, Calif., Aug. 22–26, 1988), Elsevier Science Pub., North-Holland, pp. 101–110.

  • Tsuda, T., and Kunieda, Y. 1986. Mechanical vectorization of multiply nested DO loops by vector indirect addressing. InInformation Processing 86, Proc. IFIP 10th World Computer Congress (Dublin, Ireland, Sept. 1–5, 1986, H.-J. Kugler, ed.), Elsevier Science Pub., North-Holland, pp. 785–790.

  • Tsuda, T., Kunieda, Y., and Atipas, P. 1989. Automatic vectorization of character string manipulations and relational operations in Pascal. InProc., Supercomputing '89 (Reno, Nevada, Nov. 13–17), ACM SIGARCH and IEEE Computer Soc., pp. 187–196.

  • Wagener, J.L. 1980.Fortran 77 Principles of Programming. John Wiley & Sons, Chap. 11.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Tsuda, T., Kunieda, Y. V-Pascal: An automatic vectorizing compiler for Pascal with no language extensions. J Supercomput 4, 251–275 (1990). https://doi.org/10.1007/BF00127834

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00127834

Key words

Navigation