A fast algorithm for code movement optimisation
ACM SIGPLAN Notices
Introduction to algorithms
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
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)
Complete removal of redundant expressions
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Register promotion by sparse partial redundancy elimination of loads and stores
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A simple algorithm for partial redundancy elimination
ACM SIGPLAN Notices
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
Global optimization by suppression of partial redundancies
Communications of the ACM
E-path_PRE: partial redundancy elimination made easy
ACM SIGPLAN Notices
CC '98 Proceedings of the 7th International Conference on Compiler Construction
Optimal and efficient speculation-based partial redundancy elimination
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
A compiler framework for speculative analysis and optimizations
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Path Profile Guided Partial Redundancy Elimination Using Speculation
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Partial Redundancy Elimination Driven by a Cost-Benefit Analysis
ICCSSE '97 Proceedings of the 8th Israeli Conference on Computer-Based Systems and Software Engineering
Path-sensitive, value-flow optimizations of programs (program analysis)
Path-sensitive, value-flow optimizations of programs (program analysis)
Optimizing for space and time usage with speculative partial redundancy elimination
Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Proof optimization for partial redundancy elimination
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Minimizing code size via page selection optimization on partitioned memory architectures
Proceedings of the 2013 International Conference on Compilers, Architectures and Synthesis for Embedded Systems
Hi-index | 0.00 |
We show that classic PRE is also a maximum flow problem, thereby revealing the missing link between classic and speculative PRE, and more importantly, establishing a common high-level conceptual basis for this important compiler optimisation. To demonstrate this, we formulate a new, simple unidirectional bit-vector algorithm for classic PRE based only on the well-known concepts of availability and anticipatability. Designed to find a unique minimum cut in a flow network derived from a CFG, which is proved simply but rigorously, our algorithm is simple and intuitive, and its optimality is self-evident. This conceptual simplicity also translates into efficiency, as validated by experiments.