Yup, my call graph constructor jst tracks statically resolved call instructions and splices them to get the whole program graph; no indirections. I could rewrite the tool, but tracking jmp *%eax would be tad too complicated! I'd try JHC meanwhile. Stefen, Simon and David, thanks again for the inputs. -ganesh On 10/5/07, David Menendez <dave@zednenem.com> wrote:
On 10/4/07, Ganesh Narayan <ganesh.narayan@gmail.com> wrote:
True, but I was of the opinion that -O0, -fno-state-hack and -fno-full-laziness would preserve the calling structure with minimal perturbance. Wouldn't it? Besides, I am hardly aware of any utility that generates source level call graph/expression dependence graph; suppose one can generate a module dependency graph, but guess its little too coarse!
You might have more luck with JHC, which (if I understand correctly) creates intermediate C code that somewhat resembles the Haskell source in structure.
-- Dave Menendez <dave@zednenem.com> <http://www.eyrie.org/~zednenem/>