From c387be62c0873b3746e213c8e138782603e7b1a1 Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Thu, 7 Sep 2006 08:41:01 +0000 Subject: [PATCH] .irgname debugger command [r8193] --- ir/debug/debugger.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ir/debug/debugger.c b/ir/debug/debugger.c index d0009b626..f5cb206dc 100644 --- a/ir/debug/debugger.c +++ b/ir/debug/debugger.c @@ -780,6 +780,20 @@ static entity *find_entity_name(const char *name) { return env.res; } /* find_entity_name */ +static void irgname(const char *name) { + int i; + ident *id = new_id_from_str(name); + + for(i = get_irp_n_irgs() - 1; i >= 0; --i) { + ir_graph *irg = get_irp_irg(i); + entity *ent = get_irg_entity(irg); + if(ent && get_entity_ident(ent) == id) { + ir_printf("%+F (%p)\n", irg, irg); + break; + } + } +} + /** * High level function to use from debugger interface * @@ -848,6 +862,8 @@ void firm_debug(const char *cmd) { set_dbg_level(name, (1 << lvl) - 1); else if (sscanf(cmd, ".setoutfile %s %s\n", name, fname) == 2) set_dbg_outfile(name, fname); + else if (sscanf(cmd, ".irgname %s\n", name) == 1) + irgname(name); else { show_commands(); } -- 2.20.1