A FORTRAN compiling method for dataflow machines and its prototype compiler for the parallel processing system-Harray
In this paper, we propose an efficient techniques, called CD translation, to compile a FORTRAN program to a optimized dataflow code. The CD translation generates the dataflow control information from a control flow graph by using the data flow analysis with the branch node operation, and enables to analyze a sequential program with any type of the control structures (e.g. goto statement and irreducible loop) correctly, while the previous method cannot compile a FORTRAN to the dataflow program perfectly. This analysis technique is much worthy of not only the construction of the compiler for dataflow machines but also the analysis technique for the parallelizing compiler because the dataflow program represents all the program dependencies with only data dependencies unifyingly and enables to analyze all the program dependencies identically. Moreover the FORTRAN compiler implementing the CD translation is introduced.
Index Termsdataflow machine compiler dataflow analysis FORTRAN
Unable to display preview. Download preview PDF.
- 1.A.V.Aho, R.Sethi, and J.D.Ullman, Compilers: Principles, Techniques, and Tools, Addison-Welsley (1986)Google Scholar
- 2.S.J.Allan, and A.E.Oldehoeft, A flow analysis procedure for the translation of hish level languages to dataflow language, IEEE Trans. on Computers, Vol. C-29, No. 9 (Sept. 1980), pp.826–831Google Scholar
- 3.R.B.Ballance, A.B.Maccabe, and K.J.Ottenstein, The Program Dependence Web: A Representation Supporting Control-, Data-, and Demand-Driven Interpretation of Imperative Languages, SIGPLAN'90 Conference on Programming Language Design and Implementation (1990)Google Scholar
- 4.M.Beck, R.Johnson, and K.Pingali, From Control Flow to Dataflow, Tech. Rep. TR89-1050 (Oct. 1989), Cornell University, Dept. of Computer ScienceGoogle Scholar
- 5.J.Ferrante, K.J.Ottenstein, and J.D.Warren, The program dependence graph and its use in optimization, ACM Trans. on Programming Languages and Systems, Vol. 9, No.3 (Jul. 1987), pp.319–349Google Scholar
- 6.Y.Ishii, T.Yasue, H.Yamana, and Y.Muraoka, A Flow-execution Scheme of Doacross Loops on Dynamic Dataflow Machines, Trans. of Institute of Electronics, Information and Communication Engineers Japan, Vol.J75-D-I, No.7 (1992), pp.440–449Google Scholar
- 7.S.Sekiguchi, T.Shimada, and K.Hiraki, A Decision Principle of Switch Nodes in Parallel Language DFCII, Transactions of Information Processing Society of Japan, Vol.31, No.10 (Oct. 1990), pp.1454–1462Google Scholar
- 8.H.Yamana, Y.Kusano, T.Yasue, J.Kohdate, T.Hagiwara, and Y.Muraoka, Parallel Processing System-Harray-, Computing Systems in Engineering, Vol. 1, No. 1, pp.111–130, 1990Google Scholar