On 08/19/2013 03:28 PM, Steven Bosscher wrote:
I assume you mean basic blocks and edges? For that, you can already
use the CFG pretty printers with a file attached to a pipe and sent
through XDot (http://code.google.com/p/jrfonseca/wiki/XDot) which is
written in Python and quite easy to integrate in a GDB Python routine.
(I did just that not too long ago but I can't find the code just now.)
Not exactly what I was talking about, though I did have David do some
work on CFG dumping a while back. Think about the ability to do things
like collapse regions and the like.
In this specific instance I was referring to getting meaningful data out
of gdb when I do something like "p bb" or "p e" for a block and edge
respectively.
Printing the pointer is useful, but printing information about the
actual block/edge is far more useful :-) It'd save a lot of "debug_bb
(bb)" as well a p "e->src->index" and "p e->dest->index" in my
interactive debug sessions.
jeff