An efficient general iterative algorithm for dataflow analysis
Acta Informatica
A fast algorithm for code movement optimisation
ACM SIGPLAN Notices
How to analyze large programs efficiently and informatively
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
A variation of Knoop, Rüthing, and Steffen's Lazy Code Motion
ACM SIGPLAN Notices
Complexity of bi-directional data flow analysis
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An elimination algorithm for bidirectional data flow problems using edge placement
ACM Transactions on Programming Languages and Systems (TOPLAS)
Optimal code motion: theory and practice
ACM Transactions on Programming Languages and Systems (TOPLAS)
A generalized theory of bit vector data flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Lattice frameworks for multisource and bidirectional data flow problems
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Practical adaption of the global optimization algorithm of Morel and Renvoise
ACM Transactions on Programming Languages and Systems (TOPLAS)
Global optimization by suppression of partial redundancies
Communications of the ACM
Optimal Code Motion in the Presence of Large Expressions
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Optimization Under the Perspective of Soundness, Completeness, and Reusability
Correct System Design, Recent Insight and Advances, (to Hans Langmaack on the occasion of his retirement from his professorship at the University of Kiel)
Bidirectional data flow analysis for type inferencing
Computer Languages, Systems and Structures
Hi-index | 0.00 |
Bidirectional data flow analysis has become the standard technique for solving bit-vector based code motion problems in the presence of critical edges. Unfortunately, bidirectional analyses have turned out to be conceptually and computationally harder than their unidirectional counterparts. In this paper we show that code motion in the presence of critical edges can be achieved without bidirectional data flow analyses. This is demonstrated by means of an adaption of our algorithm for lazy code motion [15], which is developed from a fresh, specification oriented view. Besides revealing a better conceptual understanding of the phenomena caused by critical edges, this also settles the foundation for a new and efficient hybrid iteration strategy that intermixes conventional round-robin iteration with the exhaustive iteration on critical subparts.