ACM Transactions on Programming Languages and Systems (TOPLAS)
Partial method compilation using dynamic profile information
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Load Redundancy Elimination on Executable Code
Euro-Par '01 Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing
Optimal and efficient speculation-based partial redundancy elimination
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Complete removal of redundant expressions
ACM SIGPLAN Notices - Best of PLDI 1979-1999
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
Partial redundancy elimination for access expressions by speculative code motion
Software—Practice & Experience
Sentinel PRE: Hoisting beyond Exception Dependency with Dynamic Deoptimization
Proceedings of the international symposium on Code generation and optimization
Instruction combining for coalescing memory accesses using global code motion
MSP '04 Proceedings of the 2004 workshop on Memory system performance
Interprocedural side-effect analysis and optimisation in the presence of dynamic class loading
ACSC '05 Proceedings of the Twenty-eighth Australasian conference on Computer Science - Volume 38
A lifetime optimal algorithm for speculative PRE
ACM Transactions on Architecture and Code Optimization (TACO)
Interprocedural side-effect analysis for incomplete object-oriented software modules
Journal of Systems and Software
Removing redundancy via exception check motion
Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization
Local redundant polymorphism query elimination
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Fast profile-based partial redundancy elimination
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
A fresh look at PRE as a maximum flow problem
CC'06 Proceedings of the 15th international conference on Compiler Construction
Hi-index | 0.00 |
Partial redundancy elimination has become a major compiler optimization that subsumes various ad hoc code motion optimizations. However, partial redundancy elimination is extremely conservative, failing to take advantage of many opportunities for optimization. We describe a new formulation of partial redundancy elimination based on a cost-benefit analysis of the flowgraph. Costs and benefits are measured by the number of evaluations of an expression. For that reason, our technique requires estimates for the execution frequency of every edge in the flowgraph. The new technique is much more agressive, performing more code motion and thereby reducing the number of expression evaluations as compared to the standard optimization.