|request C code which translates source into PDG firstname.lastname@example.org (1993-04-13)|
|Re: request C code which translates source into PDG email@example.com (1993-04-14)|
|Re: request C code which translates source into PDG firstname.lastname@example.org (1993-04-15)|
|Re: request C code which translates source into PDG email@example.com (1993-04-15)|
|From:||firstname.lastname@example.org (Cliff Click)|
|Keywords:||tools, analysis, optimize|
|Organization:||Center for Research on Parallel Computations|
|Date:||Wed, 14 Apr 1993 23:02:47 GMT|
> Has anyone implemented algorithms which convert a source program into a
> Program Dependence Graph? We are currently working to implement such
> algorithms as outlined in the 1987 paper "The Program Dependence Graph and
> Its Use in Optimization" by Ferrante, Ottenstein, and Warren.
I've implemented conversion of a low-level 3-address intermediate
representation to something similar to a PDG. I do analysis and
optimizations on this form, then produce something close to assembly out.
Paul Havlok (email@example.com) has implemented conversion of Fortran
(really an AST of the Fortran program) to something similar to a PDG.
Paul does analysis and optimizations, then outputs readable Fortran.
Our forms are more like each other than they are like a PDG. We both have
fewer restrictions on the scheduling of computations than the PDG does,
and use this freedom to do better analysis.
Because of our different purposes the kinds and extents of our analyses
differ, but the basic graph formats are very similar. We both found this
kind of IR is very easy to analyze and optimize.
I can send you C++ code for what I do, but its probably less useful than a
careful description of how you would go about doing it.
Massively Scalar Compiler Group
Return to the
Search the comp.compilers archives again.