|
ABSTRACT
This paper is concerned with difficult global flow problems which require the symbolic evaluation of programs. We use, as is common in global flow analysis, a model in which the expressions computed are specified, but the flow of control is indicated only by a directed graph whose nodes are blocks of assignment statements. We show that if such a program model is interpreted in the domain of integer arithmetic then many natural global flow problems are unsolvable. We then develop a direct (non-iterative) method for finding general symbolic values for program expressions. Our method gives results similar to an iterative method due to Kildall and a direct method due to Fong, Kam, and Ullman. By means of a structure called the global value graph which compactly represents both symbolic values and the flow of these values through the program, we are able to obtain results that are as strong as either of these algorithms at a lower time cost, while retaining applicability to all flow graphs.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
|
 |
3
|
|
| |
4
|
{CA} Cocke, J. and Allen, F. E., "A catalogue of Optimization Transformations," Design and Optimization of Computers, R. Rustin, ed.), Printice-Hall, (1971), pp 1-30.
|
 |
5
|
|
 |
6
|
|
| |
7
|
|
 |
8
|
|
 |
9
|
|
 |
10
|
|
| |
11
|
{KU2} Kam, J. B. and Ullman, J. D., "Monotone data flow analysis frameworks," Technical Report 167, Computer Science Department, Princeton University, (Jan. 1976).
|
| |
12
|
{K} Karr, M, "P-graphs," Massachusetts Computer Associates, CAID-7501-1511, (Jan. 1975).
|
| |
13
|
{Ke1} Kennedy, K., "Safety of code motion," International J. Computer Math., vol. 3, (Dec. 1971), pp. 5-15.
|
| |
14
|
{Ke2} Kennedy, K., "A comparison of algorithms for global glow analysis," TR 476-093-1, Dept of Mathematical Sciences, Rice Univ., Houston, Texas, (Feb. 1974).
|
 |
15
|
|
 |
16
|
|
| |
17
|
|
 |
18
|
|
 |
19
|
|
| |
20
|
{M} Matijasevic, Y., "Enumerable sets are diophantine," (Russian), Dodl. Akad. Nauk SSSR 191 (1970), pp. 279-282.
|
| |
21
|
{R} Reif, J. H., Ph.D. Dissertation, in progress.
|
| |
22
|
{S} Schaefer, M., A Mathematical Theory of Global Analysis, Prentice-Hall, Englewood Cliffs, N.J., (1973).
|
| |
23
|
{Sc} Schwartz, J. T., "Optimization of very high level languages -- value transmission and its corollaries," Computer Languages, V. 1, (1975), pp. 161-194.
|
| |
24
|
{SS} Shapiro, R. and Saint, H., "The representation of algorithms R?DC, Technical Report 313, Vol., June (1972).
|
| |
25
|
{T1} Tarjan, R. E., "Depth-first search and linear graph algorithms," SIAM J. Computing, Vol. 1, No. 2, (June 1972), pp. 146-160.
|
 |
26
|
|
| |
27
|
|
| |
28
|
|
| |
29
|
{T5} Tarjan, R., Personal communication to M. Karr, (1976).
|
| |
30
|
{U} Ullman, J. D., "Fast algorithms for elimination of common subexpressions," Acta Informatica, Vol. 2, N. 3, (Dec. 1973), pp 191-213.
|
 |
31
|
|
CITED BY 22
|
|
|
|
|
|
|
|
Jong-Deok Choi , Ron Cytron , Jeanne Ferrante, Automatic construction of sparse data flow evaluation graphs, Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.55-66, January 21-23, 1991, Orlando, Florida, United States
|
|
|
B. Alpern , M. N. Wegman , F. K. Zadeck, Detecting equality of variables in programs, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.1-11, January 10-13, 1988, San Diego, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B. K. Rosen , M. N. Wegman , F. K. Zadeck, Global value numbers and redundant computations, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.12-27, January 10-13, 1988, San Diego, California, United States
|
|
|
Keshav Pingali , Micah Beck , Richard Johnson , Mayan Moudgill , Paul Stodghill, Dependence flow graphs: an algebraic approach to program dependencies, Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.67-78, January 21-23, 1991, Orlando, Florida, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|