TY - GEN
T1 - Extending conventional flow analysis to deal with array references
AU - Kallis, A.
AU - Klappholz, D.
N1 - Publisher Copyright:
© 1992, Springer Verlag. All rights reserved.
PY - 1992
Y1 - 1992
N2 - Traditional optimization-oriented flow analysis provides methods for solving a wide assortment of problems (e.g., forward and backward problems; problems with confluence operators of union, intersection, etc.). Traditional methods deal extremely well with scalar variables because it is easy to determine whether or not two scalar variable references refer to the same memory location(s). Traditional methods, on the other hand, deal with references to array variables by ignoring the fact that they are array variables, i.e., by treating them as though they were references to scalar variables; the reason is, of course, that it is more difficult to determine whether two references to the same array variable refer to the same memory location(s). Using methods derived from the field of array subscript analysis, we have developed methods for the enhancement of the flow analysis of code containing array references. In the present paper we present some elementary results which are useful in solving flow problems which require must kill information, problems such as ud-chaining, du-chaining, and live variable analysis. In a later paper we will show how the principles underlying these results may be extended to the solution of problems requiring must not killinformation, problems such as global common subexpressions.
AB - Traditional optimization-oriented flow analysis provides methods for solving a wide assortment of problems (e.g., forward and backward problems; problems with confluence operators of union, intersection, etc.). Traditional methods deal extremely well with scalar variables because it is easy to determine whether or not two scalar variable references refer to the same memory location(s). Traditional methods, on the other hand, deal with references to array variables by ignoring the fact that they are array variables, i.e., by treating them as though they were references to scalar variables; the reason is, of course, that it is more difficult to determine whether two references to the same array variable refer to the same memory location(s). Using methods derived from the field of array subscript analysis, we have developed methods for the enhancement of the flow analysis of code containing array references. In the present paper we present some elementary results which are useful in solving flow problems which require must kill information, problems such as ud-chaining, du-chaining, and live variable analysis. In a later paper we will show how the principles underlying these results may be extended to the solution of problems requiring must not killinformation, problems such as global common subexpressions.
UR - http://www.scopus.com/inward/record.url?scp=85029469433&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85029469433&partnerID=8YFLogxK
U2 - 10.1007/bfb0038669
DO - 10.1007/bfb0038669
M3 - Conference contribution
AN - SCOPUS:85029469433
SN - 9783540554226
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 251
EP - 265
BT - Languages and Compilers for Parallel Computing - 4th International Workshop, Proceedings
A2 - Banerjee, Utpal
A2 - Gelernter, David
A2 - Nicolau, Alex
A2 - Padua, David
T2 - 4th Workshop on Languages and Compilers for Parallel Computing, 1991
Y2 - 7 August 1991 through 9 August 1991
ER -