Abstract

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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call