DocumentCode :
2202452
Title :
A fast algorithm for the elimination of common subexpressions
Author :
Ullman, J.D.
fYear :
1972
fDate :
25-27 Oct. 1972
Firstpage :
161
Lastpage :
176
Abstract :
There is a class of flow charts called "reducible" for which many global code optimization algorithms have been recently written. As a practical matter, one may expect the flow chart of a program appearing "in nature" to be reducible with a probability over 90% [3], and those that are not can be made reducible by "node splitting" [10]. Unfortunately, the algorithms written for reducible graphs do not really take advantage of reducibility, since they require O(n2) bit vecter steps in worst case, the same as for the obvious general algorithms of these types. In this paper we give an O(n log n) bit vecter step algorithm to determine "available expressions," [7]. This information is essential for global elimination of common subexpressions. However, the ideas discussed here carry over to other global code optimization problems such as "reaching definitions" [1], "live variables" [9] and "very busy variables" [6].
Keywords :
Flow graphs; Flowcharts; Program processors;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Switching and Automata Theory, 1972., IEEE Conference Record of 13th Annual Symposium on
Conference_Location :
USA
ISSN :
0272-4847
Type :
conf
DOI :
10.1109/SWAT.1972.1
Filename :
4569709
Link To Document :
بازگشت