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.
<br><br>Stefen, Simon and David, thanks again for the inputs.<br><br>-ganesh<br><br><div><span class="gmail_quote">On 10/5/07, <b class="gmail_sendername">David Menendez</b> <<a href="mailto:dave@zednenem.com">dave@zednenem.com
</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">On 10/4/07, Ganesh Narayan <<a href="mailto:ganesh.narayan@gmail.com">
ganesh.narayan@gmail.com</a>> wrote:<br>> True, but I was of the opinion that -O0, -fno-state-hack and<br>> -fno-full-laziness would preserve the calling structure with minimal<br>> perturbance. Wouldn't it? Besides, I am hardly aware of any utility that
<br>> generates source level call graph/expression dependence graph; suppose one<br>> can generate a module dependency graph, but guess its little too coarse!<br><br>You might have more luck with JHC, which (if I understand correctly)
<br>creates intermediate C code that somewhat resembles the Haskell source<br>in structure.<br><br>--<br>Dave Menendez <<a href="mailto:dave@zednenem.com">dave@zednenem.com</a>><br><<a href="http://www.eyrie.org/~zednenem/">
http://www.eyrie.org/~zednenem/</a>><br></blockquote></div><br>