Program dependence graph
Appearance
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
A Program Dependence Graph (PDG) is a visual representation of a program's control and data dependencies. It is a directed graph where nodes represent program statements, and edges represent dependencies between these statements.
PDG are used in optimization, debugging, and understanding program behavior.[1] These dependencies are used during dependence analysis in optimizing compilers to make transformations so that multiple cores are used, and parallelism is improved.[2] Nodes and edges in a PDG may have attributes associated with them, representing variables read from or written to, or the type of dependency they represent.
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.
- ^ Ferrante, J.; Ottenstein, K. J.; Warren, J. (1987). "The program dependence graph and its use in optimization". ACM Transactions on Programming Languages and Systems. 9 (3): 319–349. CiteSeerX 10.1.1.101.27. doi:10.1145/24039.24041. S2CID 505075.