Idiom recognition in the Polaris parallelizing compiler
ICS '95 Proceedings of the 9th international conference on Supercomputing
Commutativity analysis: a new analysis framework for parallelizing compilers
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Commutativity analysis: a new analysis technique for parallelizing compilers
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the Automatic Parallelization of the Perfect Benchmarks®
IEEE Transactions on Parallel and Distributed Systems
Nonlinear and Symbolic Data Dependence Testing
IEEE Transactions on Parallel and Distributed Systems
Automatic parallelization of divide and conquer algorithms
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
New tiling techniques to improve cache temporal locality
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
A framework for performance-based program partitioning
Progress in computer research
Effective sign extension elimination
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
MaJIC: compiling MATLAB for speed and responsiveness
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
A framework for performance-based program partitioning
Progress in computer research
A Matlab Just-In-time Compiler
LCPC '00 Proceedings of the 13th International Workshop on Languages and Compilers for Parallel Computing-Revised Papers
A unified framework for nonlinear dependence testing and symbolic analysis
Proceedings of the 18th annual international conference on Supercomputing
Rating Compiler Optimizations for Automatic Performance Tuning
Proceedings of the 2004 ACM/IEEE conference on Supercomputing
Symbolic bounds analysis of pointers, array indices, and accessed memory regions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Model Checking C Programs Using F-SOFT
ICCD '05 Proceedings of the 2005 International Conference on Computer Design
Effective sign extension elimination for java
ACM Transactions on Programming Languages and Systems (TOPLAS)
A class of polynomially solvable range constraints for interval analysis without widenings
Theoretical Computer Science - Tools and algorithms for the construction and analysis of systems (TACAS 2004)
STLlint: lifting static checking from languages to libraries
Software—Practice & Experience
Pruning dynamic slices with confidence
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Towards an automatic complexity analysis for generic programs
Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming
An exact data dependence testing method for quadratic expressions
Information Sciences: an International Journal
Gross product simulation with pooling of linear and nonlinear regression models
Proceedings of the 6th International Workshop on Enterprise & Organizational Modeling and Simulation
Interprocedural symbolic range propagation for optimizing compilers
LCPC'05 Proceedings of the 18th international conference on Languages and Compilers for Parallel Computing
Detecting memory access errors with flow-sensitive conditional range analysis
ICESS'05 Proceedings of the Second international conference on Embedded Software and Systems
Performance analysis of symbolic analysis techniques for parallelizing compilers
LCPC'02 Proceedings of the 15th international conference on Languages and Compilers for Parallel Computing
Hierarchical overlapped tiling
Proceedings of the Tenth International Symposium on Code Generation and Optimization
Program analysis using symbolic ranges
SAS'07 Proceedings of the 14th international conference on Static Analysis
Hi-index | 0.00 |
Many analyses and transformations in a parallelizing compiler can benefit from the ability to compare arbitrary symbolic expressions. In this paper, we describe how one can compare expressions by using symbolic ranges of variables. A range is a lower and upper bound on a variable. We describe how these ranges can be efficiently computed from the program test. Symbolic range propagation has been implemented in Polaris, a parallelizing compiler being developed at the University of Illinois, and is used for symbolic dependence testing, detection of zero-trip loops, determining array sections possibly referenced by an access, and loop iteration-count estimation.