Applications of symbolic evaluation
Journal of Systems and Software
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Advanced compiler optimizations for supercomputers
Communications of the ACM - Special issue on parallelism
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Scheme to Enforce Data Dependence on Large Multiprocessor Systems
IEEE Transactions on Software Engineering
Analysis of interprocedural side effects in a parallel programming environment
Journal of Parallel and Distributed Computing - Special Issue on Languages, Compilers and environments for Parallel Programming
ICS '88 Proceedings of the 2nd international conference on Supercomputing
Detecting equality of variables in programs
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Global value numbers and redundant computations
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Process decomposition through locality of reference
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Supercompilers for parallel and vector computers
Supercompilers for parallel and vector computers
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Automatic recognition of induction variables and recurrence relations by abstract interpretation
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstract interpretation and application to logic programs
Journal of Logic Programming
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Array privatization for parallel execution of loops
ICS '92 Proceedings of the 6th international conference on Supercomputing
Array privatization for shared and distributed memory machines (extended abstract)
ACM SIGPLAN Notices - Workshop on languages, compilers and run-time environments for distributed memory multiprocessors
Beyond induction variables: detecting and classifying sequences using a demand-driven SSA form
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient building and placing of gating functions
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Communications of the ACM
Automatic discovery of linear restraints among variables of a program
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Dependence Analysis for Supercomputing
Dependence Analysis for Supercomputing
The range test: a dependence test for symbolic, non-linear expressions
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Experience in the Automatic Parallelization of Four Perfect-Benchmark Programs
Proceedings of the Fourth International Workshop on Languages and Compilers for Parallel Computing
Data Dependence and Data-Flow Analysis of Arrays
Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing
Symbolic Program Analysis and Optimization for Parallelizing Compilers
Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing
Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing
Construction of Thinned Gated Single-Assignment Form
Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing
Polaris: Improving the Effectiveness of Parallelizing Compilers
LCPC '94 Proceedings of the 7th International Workshop on Languages and Compilers for Parallel Computing
Symbolic Evaluation and the Analysis of Programs
IEEE Transactions on Software Engineering
Multidimensional Blocking in UPC
Languages and Compilers for Parallel Computing
Hi-index | 0.00 |
This chapter discusses techniques for automatic array privatization developed as part of the Polaris project at the University of Illinois at Urbana-Champaign. Array privatization is one of the most important transformations for effective program parallelization. The array privatization problem is formulatedas data flow equations involving sets of scalars andarra y regions. A single-pass algorithm to solve these data flow equations is introduced. Finally, this chapter presents a demand-driven symbolic analysis algorithm to manipulate array regions whose bounds are represented by symbolic expressions.