Program dependence graph
Jump to navigation
Jump to search
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
|
A Program Dependence Graph (PDG) is a directed graph of a program's control and data dependencies. Nodes represent program statements and edges represent dependencies between these statements.
PDGs are used in optimization, debugging, and understanding program behavior. One example of this is their utilization by compilers during dependence analysis, enabling the optimizing compiler to make transformations to allow for parallelism.[1][2]
See also
References
- ^ Jeanne Ferrante; Ottenstein, Karl J.; Warren, Joe D. (July 1987). "The Program Dependence Graph and its Use in Optimization" (PDF). ACM Transactions on Programming Languages and Systems. 9 (3): 319–349. CiteSeerX 10.1.1.101.27. doi:10.1145/24039.24041. S2CID 505075.
- ^ "Dependence Graphs in LLVM — LLVM 19.0.0git documentation". llvm.org. Retrieved 2024-06-26.
Categories:
- Articles with short description
- Short description matches Wikidata
- Articles needing additional references from May 2016
- All articles needing additional references
- Wikipedia articles with style issues from October 2012
- All articles with style issues
- Wikipedia articles that are too technical from October 2012
- All articles that are too technical
- Articles with multiple maintenance issues
- Parallel computing
- Application-specific graphs
- All stub articles
- Computer science stubs