Transfer free register allocation in cyclic data flow graphs

Discusses an algorithm for the optimal register allocation problem in cyclic data flow graphs. Cyclic data flow graphs result from high level behavioral descriptions that contain loops. Algorithms published up till now did not consider cyclic data flow graphs specifically. When these algorithms are applied to data flow graphs with loops, unnecessary register transfer operations may be introduced. In the paper a new algorithm is presented that performs a minimal register allocation eliminating all superfluous register transfer operations. Experiments on a benchmark set have shown that in all cases all superfluous register transfers could be eliminated at no increase in register cost.<<ETX>>

[1]  Barry M. Pangre Splicer: a heuristic approach to connectivity binding , 1988, DAC '88.

[2]  Donald E. Thomas,et al.  Exploiting the special structure of conflict and compatibility graphs in high-level synthesis , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[3]  M. Golummc Algorithmic graph theory and perfect graphs , 1980 .

[4]  Pierre G. Paulin,et al.  Scheduling and Binding Algorithms for High-Level Synthesis , 1989, 26th ACM/IEEE Design Automation Conference.

[5]  Pierre G. Paulin,et al.  Force-Directed Scheduling in Automatic Data Path Synthesis , 1987, 24th ACM/IEEE Design Automation Conference.

[6]  Mohamed I. Elmasry,et al.  Automatic synthesis of a multi-bus architecture for DSP , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.

[7]  J.A.G. Jess,et al.  Synthesis of concurrent hardware structures , 1988, 1988., IEEE International Symposium on Circuits and Systems.

[8]  A. Tucker,et al.  Coloring a Family of Circular Arcs , 1975 .

[9]  Alan Tucker,et al.  Structure theorems for some circular-arc graphs , 1974, Discret. Math..

[10]  Barry M. Pangrle Splicer: a heuristic approach to connectivity binding , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[11]  Srinivas Devadas,et al.  Algorithms for hardware allocation in data path synthesis , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[12]  Fadi J. Kurdahi,et al.  REAL: A Program for REgister ALlocation , 1987, 24th ACM/IEEE Design Automation Conference.

[13]  A. Tucker,et al.  Matrix characterizations of circular-arc graphs , 1971 .

[14]  Akihiro Hashimoto,et al.  Wire routing by optimizing channel assignment within large apertures , 1971, DAC.

[15]  D. P. Bovet,et al.  An $O(n^2 )$ Algorithm for Coloring Proper Circular Arc Graphs , 1981 .

[16]  Daniel P. Siewiorek,et al.  Automated Synthesis of Data Paths in Digital Systems , 1986, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[17]  A. Nijenhuis Combinatorial algorithms , 1975 .