Complete removal of redundant expressions
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Better global scheduling using path profiles
MICRO 31 Proceedings of the 31st annual ACM/IEEE international symposium on Microarchitecture
ACM Transactions on Programming Languages and Systems (TOPLAS)
Static correlated branch prediction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Overcoming the challenges to feedback-directed optimization (Keynote Talk)
DYNAMO '00 Proceedings of the ACM SIGPLAN workshop on Dynamic and adaptive compilation and optimization
Probabilistic data flow system with two-edge profiling
DYNAMO '00 Proceedings of the ACM SIGPLAN workshop on Dynamic and adaptive compilation and optimization
A balanced code placement framework
ACM Transactions on Programming Languages and Systems (TOPLAS)
Timestamped whole program path representation and its applications
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Speculative Alias Analysis for Executable Code
Proceedings of the 2002 International Conference on Parallel Architectures and Compilation Techniques
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
Extending Path Profiling across Loop Backedges and Procedure Boundaries
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Complete removal of redundant expressions
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Parametric analysis for adaptive computation offloading
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
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
Proceedings of the 37th annual IEEE/ACM International Symposium on Microarchitecture
Partial redundancy elimination for access expressions by speculative code motion
Software—Practice & Experience
Practical Path Profiling for Dynamic Optimizers
Proceedings of the international symposium on Code generation and optimization
A Programmable Hardware Path Profiler
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
Whole execution traces and their applications
ACM Transactions on Architecture and Code Optimization (TACO)
Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques
Profiling over Adaptive Ranges
Proceedings of the International Symposium on Code Generation and Optimization
A lifetime optimal algorithm for speculative PRE
ACM Transactions on Architecture and Code Optimization (TACO)
Unified control flow and data dependence traces
ACM Transactions on Architecture and Code Optimization (TACO)
Formulating and implementing profiling over adaptive ranges
ACM Transactions on Architecture and Code Optimization (TACO)
Construction of speculative optimization algorithms
Programming and Computing Software
Local redundant polymorphism query elimination
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Combined profiling: practical collection of feedback information for code optimization
Proceedings of the 2nd ACM/SPEC International Conference on Performance engineering
SPAF: stateless FSA-based packet filters
IEEE/ACM Transactions on Networking (TON)
The hot path SSA form: extending the static single assignment form for speculative optimizations
CC'10/ETAPS'10 Proceedings of the 19th joint European conference on Theory and Practice of Software, international conference on Compiler Construction
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 |
While programs contain a large number of paths, a very small fraction of these paths are typically exercised during program execution. Thus, optimization algorithms should be designed to trade off the performance of less frequently executed paths in favor of more frequently executed paths. However, traditional formulations to code optimizations are incapable of performing such a trade-off. We present a path profile guided partial redundancy elimination algorithm that uses speculation to enable the removal of redundancy along more frequently executed paths at the expense of introducing additional expression evaluations along less frequently executed paths. We describe cost-benefit data flow analysis that uses path profiling information to determine the profitability of using speculation. The cost of enabling speculation of an expression at a conditional is determined by identifying paths along which an additional evaluation of the expression is introduced. The benefit of enabling speculation is determined by identifying paths along which additional redundancy elimination is enabled by speculation. The results of this analysis are incorporated in a speculative expression hoisting framework for partial redundancy elimination.