Supercompilers for parallel and vector computers
Supercompilers for parallel and vector computers
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Beyond induction variables: detecting and classifying sequences using a demand-driven SSA form
ACM Transactions on Programming Languages and Systems (TOPLAS)
Gated SSA-based demand-driven symbolic analysis for parallelizing compilers
ICS '95 Proceedings of the 9th international conference on Supercomputing
Symbolic analysis for parallelizing compilers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Advanced compiler design and implementation
Advanced compiler design and implementation
Monotonic evolution: an alternative to induction variable substitution for dependence analysis
ICS '01 Proceedings of the 15th international conference on Supercomputing
Dependence Analysis for Supercomputing
Dependence Analysis for Supercomputing
Program analysis techniques for transforming programs for parallel execution
Parallel Computing
High Performance Compilers for Parallel Computing
High Performance Compilers for Parallel Computing
Recurrent Relations and Speed-up of Computations Using Computer Algebra Systems
DISCO '92 Proceedings of the International Symposium on Design and Implementation of Symbolic Computation Systems
A unified framework for nonlinear dependence testing and symbolic analysis
Proceedings of the 18th annual international conference on Supercomputing
Array Data Dependence Testing with the Chains of Recurrences Algebra
IWIA '04 Proceedings of the Innovative Architecture for Future Generation High-Performance Processors and Systems
Compilers: Principles, Techniques, and Tools (2nd Edition)
Compilers: Principles, Techniques, and Tools (2nd Edition)
An empirical evaluation of chains of recurrences for array dependence testing
Proceedings of the 15th international conference on Parallel architectures and compilation techniques
Flow-Sensitive Loop-Variant Variable Classification in Linear Time
Languages and Compilers for Parallel Computing
Hi-index | 0.00 |
This paper presents a new approach to improve flow-sensitive induction variable analysis and data dependence testing on intermediate program representations, such as control-flow graphs with low-level operations representations in single static assignment forms. Current compiler techniques have difficulties optimizing loops that exhibit irregular control flow patterns. The inaccuracy of loop analysis results in conservative estimations of array-based data dependences in loops, which negatively affects the speedup of the loop via parallelization and vectorization. Our approach is based on a novel CR# (CR-sharp) algebra that effectively represents the value progressions of (conditionally) updated variables in loops. The CR# forms of induction variables are constructed with a new flow-sensitive induction variable recognition algorithm. We also developed a new CR#-based nonlinear data dependence test that enables loops to be more effectively optimized.