Abstract
An algorithm to solve the “live variables” problem on reducible flow graphs is presented. It is based on the concept of a region of a flow graph. The algorithm is compared for time complexity with the well-known round-robin version of the iterative algorithm on “self-replicating” families of reducible flow graphs. The results of comparison are inconclusive in that the region analysis algorithm requires fewer bit-vector operations on some graphs and more on others.
Zusammenfassung
Ein Algorithmus zur Lösung des Problems der lebenden Variablen für reduzible Flußgraphen wird vorgestellt. Er beruht auf dem Begriff eines Gebietes eines Flußgraphen. Der Algorithmus wird hinsichtlich seiner Zeitkomplexität mit der bekannten “round-robin”-Version des iterativen Algorithmus für “selbstreplizierende” Familien reduzibler Flußgraphen verglichen. Die Ergebnisse dieses Vergleiches sind nicht schlüssig, da der Gebietsanalysealgorithmus bei manchen Graphen mehr, bei anderen weniger Bitvektoroperationen erfordert.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Aho, A. V., Ullman, J. D.: The Theory of Parsing, Translation and Compiling; Vol. II: Compiling, Ch. 11. Englewood Cliffs, N.J.: Prentice-Hall 1973.
Aho, A. V., Ullman, J. D.: Node listings for reducible flow graphs. J. Computer System Sci.13, 286–299 (1976).
Allen, F. E.: Control flow analysis. ACM SIGPLAN Notices (newsletter)5, 1–19 (1970).
Allen, F. E.: A basis for program optimization (Proc. IFIP Congress, 71), pp. 385–390. Amsterdam: North-Holland 1971.
Allen, F. E., Cocke, J.: A program data flow analysis procedure. Comm. ACM19, 137–147 (1976).
Cocke, J.: Global common subexpression elimination. ACM SIGPLAN Notices (newsletter)5, 20–24 (1970).
Cocke, J., Schwartz, J. T.: Programming Languages and Their Compilers: Preliminary Notes. New York: Courant Institute of Mathematical Sciences 1969.
Graham, S. L., Wegman, M.: A fast and usually linear algorithm for global flow analysis. J. ACM23, 172–202 (1976).
Hecht, M. S.: Flow Analysis of Computer Programs. New York: Elsevier North-Holland 1977.
Hecht, M. S., Ullman, J. D.: Characterizations of reducible flow graphs. J. ACM21, 367–375 (1974).
Hecht, M. S., Ullman, J. D.: A simple algorithm for global data flow analysis problems. SIAM J. Comput.4, 519–532 (1975).
Kam, J. B., Ullman, J. D.: Monotone data flow analysis frameworks. Acta Informatica7, 305–317 (1977).
Kam, J. B., Ullman, J. D.: Global data flow analysis and iterative algorithms. J. ACM23, 158–171 (1976).
Kennedy, K.: A global flow analysis algorithm. Intern. J. Computer Math.A3, 5–15 (1971).
Kennedy, K.: A comparison of two algorithms for global data flow analysis. SIAM J. Comput.5, 158–180 (1976).
Kennedy, K.: Use-definition chains with applications. Comp. Lang.3, 163–179 (1978).
Kildall, G. A.: A unified approach to global program optimization. Conf. Record of the ACM Symposium on Principles of Programming Languages, October 1973, 194–206.
Rosen, B. K.: Arcs in graphs are not pairs of nodes. SIGACT News9, 25–27 (1977).
Schaefer, M.: A Mathematical Theory of Global Program Optimization. Englewood Cliffs, N.J.: Prentice-Hall 1973.
Ullman, J. D.: Fast algorithms for the elimination of common subexpressions. Acta Informatica2, 191–213 (1973).
Ullman, J. D.: A survey of data flow analysis techniques. (Proc. 2nd USA-Japan Comp. Conf.) Montvale, N.J.: AFIPS Press 1975.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Czech, Z. A region analysis algorithm for the live variables problem. Computing 33, 193–210 (1984). https://doi.org/10.1007/BF02242267
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02242267