An algorithm for reduction of operator strength
Communications of the ACM
A case study of a new code generation technique for compilers
Communications of the ACM
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
Dependence graphs and compiler optimizations
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Design of an Optimizing Compiler
The Design of an Optimizing Compiler
Structure of Computers and Computations
Structure of Computers and Computations
Expression optimization using unary complement operators
Proceedings of a symposium on Compiler optimization
SAFETY AND OPTIMIZATION TRANSFORMATIONS FOR DATA FLOW PROGRAMS
SAFETY AND OPTIMIZATION TRANSFORMATIONS FOR DATA FLOW PROGRAMS
Data-flow graphs as an intermediate program form.
Data-flow graphs as an intermediate program form.
General and efficient methods for global code improvement
General and efficient methods for global code improvement
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Programming languages and their compilers: Preliminary notes
Programming languages and their compilers: Preliminary notes
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Generating sequential code from parallel code
ICS '88 Proceedings of the 2nd international conference on Supercomputing
A Simplified Framework for Reduction in Strength
IEEE Transactions on Software Engineering
The semantics of program dependence
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
The program dependence graph and vectorization
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Beyond induction variables: detecting and classifying sequences using a demand-driven SSA form
ACM Transactions on Programming Languages and Systems (TOPLAS)
Future directions in program transformations
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Code motion of control structures in high-level languages
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Constant Propagation on the Value Graph: Simple Constants and Beyond
CC '00 Proceedings of the 9th International Conference on Compiler Construction
High-level debugging assistance via optimizing compiler technology (Extended Abstract)
SIGSOFT '83 Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on High-level debugging
The program dependence graph in a software development environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Optimal interprocedural program optimization: a new framework and its application
Optimal interprocedural program optimization: a new framework and its application
An operational semantics of program dependence graphs for unstructured programs
ASIAN'06 Proceedings of the 11th Asian computing science conference on Advances in computer science: secure software and related issues
Hi-index | 0.00 |
A new program representation is presented which permits certain optimizations to be performed at less expense than with other forms. This paper describes code motion, common subexpression elimination and induction variable detection. Scalar propagation and constant folding are sketched here, but detailed elsewhere. The powerful code motion strategy allows entire regions of the program to be moved. The representation described may be used as a compiler intermediate form or simply as a model for program analysis. It has great potential for use in translation for parallel machines.