The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
A rewriting semantics for program dependence graphs
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A foundation for sequentializing parallel code
SPAA '90 Proceedings of the second annual ACM symposium on Parallel algorithms and architectures
IEEE Transactions on Software Engineering
A program form based on data dependency in predicate regions
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A hierarchical basis for reordering transformations
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Partial evaluation using dependence graphs
Partial evaluation using dependence graphs
Generating fast code from concurrent program dependence graphs
Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
The formal REA model at the operational level
Applied Ontology
Hi-index | 0.00 |
The program dependence graph (PDG) represents data and control dependences between statements in a program. The PDG is a useful intermediate representation for compiler code optimizations, because compiler code optimizations mostly rely on data and control dependence information. However, the validity of optimization methods based on PDGs has not been well studied. In order to justify optimization based on PDGs, it is necessary to introduce a formal semantics of PDGs. This paper presents an operational semantics of PDGs corresponding to programs which have an unstructured control flow. Our PDG semantics is equivalent to sequential program semantics in the sense that a CFG and the corresponding PDG perform the same computation.