Global optimization by suppression of partial redundancies
Communications of the ACM
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
Dependence-based program analysis
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
An elimination algorithm for bidirectional data flow problems using edge placement
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
GIVE-N-TAKE—a balanced code placement framework
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Effective partial redundancy elimination
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Optimal code motion: theory and practice
ACM Transactions on Programming Languages and Systems (TOPLAS)
A simple graph-based intermediate representation
IR '95 Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations
The power of assignment motion
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Global code motion/global value numbering
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Interprocedural partial redundancy elimination and its application to distributed memory compilation
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
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)
Path-sensitive value-flow analysis
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Complete removal of redundant expressions
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Interprocedural Partial Redundancy Elimination With Application to Distributed Memory Compilation
IEEE Transactions on Parallel and Distributed Systems
Optimizing for reduced code space using genetic algorithms
Proceedings of the ACM SIGPLAN 1999 workshop on Languages, compilers, and tools for embedded systems
Partial redundancy elimination in SSA form
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A balanced code placement framework
ACM Transactions on Programming Languages and Systems (TOPLAS)
E-path_PRE: partial redundancy elimination made easy
ACM SIGPLAN Notices
An Optimal Algorithm for Purging Regular Schemes
Programming and Computing Software
Bidirectional data flow analysis: myths and reality
ACM SIGPLAN Notices
Bidirectional Data Flow Analysis in Code Motion: Myth and Reality
SAS '98 Proceedings of the 5th International Symposium on Static Analysis
An experimental evaluation of scalar replacement on scientific benchmarks
Software—Practice & Experience
Improving register allocation for subscripted variables
ACM SIGPLAN Notices - Best of PLDI 1979-1999
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Complete removal of redundant expressions
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Proof optimization for partial redundancy elimination
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Optimal interprocedural program optimization: a new framework and its application
Optimal interprocedural program optimization: a new framework and its application
Interacting code motion transformations: their impact and their complexity
Interacting code motion transformations: their impact and their complexity
Bidirectional data flow analysis for type inferencing
Computer Languages, Systems and Structures
Hi-index | 0.00 |
Morel and Renvoise have previously described a method for global optimization and code motion by suppression of partial redundancies [l]. Morel and Renvoise use data flow analysis to determine expression computations that should be inserted at the end of certain basic blocks and to determine redundant computations that can be eliminated. The execution of these techniques results in the movement of loop invariant expressions out of the loop. In addition to [l] Morel and Renvoise's techniques can also be applied to subexpressions of larger expressions. Then, however, in certain special cases these optimization techniques move expressions to places where some of its subexpressions are neither available nor moved together with the expression. In this paper we present a modification of Morel and Renvoise's algorithm that avoids the above described situations.