|
ABSTRACT
Research in bidirectional data flow analysis seems to have come to a halt due to an impression that the case for bidirectional data flow analysis has been considerably weakened by a plethora of investigations based on decomposability of known bidirectional placement algorithms into a sequence of purely unidirectional components. This paper shows that the approach of decomposability is not general enough in that it derives its power from the simplifying graph transformation of edge-splitting and the favourable nature of flows in partial redundancy elimination (PRE). This follows from the fact that in the absence of edge-splitting, PRE cannot be performed using a sequence of cascaded unidirectional flows. Further, edge-splitting inherently converts data flows involved in PRE into unidirectional flows. In our opinion, this obviates the need of an alternative formulation. We also show that edge-splitting cannot convert data flows involved in "truly" bidirectional data flow problems into unidirectional flows. Thus not every bidirectional data flow problem can be converted into unidirectional flows. Besides, we argue that the premise that bidirectional analysis is more complex than unidirectional analysis, is invalid. We also mention some issues in bidirectional data flow analysis which need to be investigated.
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
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
 |
3
|
|
 |
4
|
|
 |
5
|
Rastislav Bodík , Rajiv Gupta , Mary Lou Soffa, Complete removal of redundant expressions, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.1-14, June 17-19, 1998, Montreal, Quebec, Canada
|
 |
6
|
|
| |
7
|
|
 |
8
|
|
 |
9
|
Fred Chow , Sun Chan , Robert Kennedy , Shin-Ming Liu , Raymond Lo , Peng Tu, A new algorithm for partial redundancy elimination based on SSA form, Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, p.273-286, June 16-18, 1997, Las Vegas, Nevada, United States
|
| |
10
|
P. Cousot. Semantic foundations of program analysis, 1981. In {46}.
|
 |
11
|
|
 |
12
|
|
 |
13
|
|
| |
14
|
|
| |
15
|
D. M. Dhamdhere. A new algorithm for composite hoisting and strength reduction optimization. International Journal of Computer Mathematics, 27(1): 1--14, 1989.
|
 |
16
|
|
| |
17
|
D. M. Dhamdhere and J. R. Isaac. A composite algorithm for strength reduction and code movement optimization. International Journal of Computers and Information Sciences, 9(3):243--273, 1980.
|
 |
18
|
|
 |
19
|
|
 |
20
|
Dhananjay M. Dhamdhere , Barry K. Rosen , F. Kenneth Zadeck, How to analyze large programs efficiently and informatively, Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation, p.212-223, June 15-19, 1992, San Francisco, California, United States
|
| |
21
|
V. Dhaneshwar and D. M. Dhamdhere. Strength reduction of large expressions. Journal of Programming Languages, 3:95--120, 1995.
|
 |
22
|
|
 |
23
|
|
 |
24
|
|
| |
25
|
|
 |
26
|
|
 |
27
|
|
| |
28
|
|
| |
29
|
S. M. Joshi and D. M. Dhamdhere. A composite algorithm for strength reduction and code movement: Part I. International Journal of Computer Mathematics, 11(1):21--44, 1982.
|
| |
30
|
S. M. Joshi and D. M. Dhamdhere. A composite algorithm for strength reduction and code movement: Part II. International Journal of Computer Mathematics, 11(2): 111--126, 1982.
|
| |
31
|
J. B. Kam and J. D. Ullman. Monotone data flow analysis frameworks. Acta Informatica, 7(3):305--318, 1977.
|
| |
32
|
Uday P. Khedker. A Generalized Theory of Bit Vector Data Flow Analysis. PhD thesis, Department of Computer Science and Engineering, Indian Institute of Technology, Bombay, 1997.
|
 |
33
|
|
 |
34
|
|
 |
35
|
Jens Knoop , Oliver Rüthing , Bernhard Steffen, Lazy code motion, Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation, p.224-234, June 15-19, 1992, San Francisco, California, United States
|
| |
36
|
J. Knoop, O. Ruthing, and B. Steffen. Lazy strength reduction. Journal of Programming Languages, 1(1):71--91, 1993.
|
 |
37
|
|
 |
38
|
Jens Knoop , Oliver Rüthing , Bernhard Steffen, Partial dead code elimination, Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, p.147-158, June 20-24, 1994, Orlando, Florida, United States
|
 |
39
|
Jens Knoop , Oliver Rüthing , Bernhard Steffen, The power of assignment motion, Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation, p.233-245, June 18-21, 1995, La Jolla, California, United States
|
 |
40
|
|
 |
41
|
Raymond Lo , Fred Chow , Robert Kennedy , Shin-Ming Liu , Peng Tu, Register promotion by sparse partial redundancy elimination of loads and stores, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.26-37, June 17-19, 1998, Montreal, Quebec, Canada
|
| |
42
|
|
 |
43
|
|
 |
44
|
|
| |
45
|
|
| |
46
|
|
 |
47
|
|
| |
48
|
B. K. Rosen. Monoids for rapid data flow analysis. SIAM Journal of Computing, 9(1): 159--196, 1980.
|
 |
49
|
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
[doi> 10.1145/73560.73562]
|
 |
50
|
|
 |
51
|
|
 |
52
|
Vugranam C. Sreedhar , Guang R. Gao , Yong-Fong Lee, A new framework for exhaustive and incremental data flow analysis using DJ graphs, Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, p.278-290, May 21-24, 1996, Philadelphia, Pennsylvania, United States
|
| |
53
|
|
 |
54
|
|
| |
55
|
Ashok Sreeniwas. Program Transformations and Representations. PhD thesis, Department of Computer Science and Engineering, Indian Institute of Technology, Bombay, 1998.
|
 |
56
|
|
CITED BY 4
|
|
|
|
|
Maria João Frade , Ando Saabas , Tarmo Uustalu, Bidirectional data-flow analyses, type-systematically, Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation, January 19-20, 2009, Savannah, GA, USA
|
|
|
|
|
|
|
|