X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fcommon%2Ffirm_common.c;h=66069a3e1423f65ddc26a6afd8789c2b5513d2b2;hb=002120b9325bd7e1da3ebb9dd258350011ad863c;hp=7d8989d101ca7bcba47db3fb2698efb4310efca8;hpb=ddb6524db7e18cece676d650dbdd270a124669f6;p=libfirm diff --git a/ir/common/firm_common.c b/ir/common/firm_common.c index 7d8989d10..66069a3e1 100644 --- a/ir/common/firm_common.c +++ b/ir/common/firm_common.c @@ -3,14 +3,12 @@ * File name: ir/common/firm_common.c * Purpose: * Author: Martin Trapp, Christian Schaefer - * Modified by: Goetz Lindenmaier + * Modified by: Goetz Lindenmaier, Michael Beck * Created: * CVS-ID: $Id$ - * Copyright: (c) 1998-2003 Universität Karlsruhe + * Copyright: (c) 1998-2006 Universität Karlsruhe * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. */ - - #ifdef HAVE_CONFIG_H # include "config.h" #endif @@ -27,13 +25,11 @@ #define POINTER_READ(p, size) (p) /* returns the kind of the thing */ -firm_kind -get_kind (const void *firm_thing) { +firm_kind get_kind(const void *firm_thing) { return POINTER_READ(firm_thing, sizeof(firm_kind)) ? *(firm_kind *)firm_thing : k_BAD; -} - +} /* get_kind */ -const char* print_firm_kind(void *firm_thing) { +const char *print_firm_kind(void *firm_thing) { if (! firm_thing) return "(NULL)"; @@ -47,23 +43,23 @@ const char* print_firm_kind(void *firm_thing) { case k_tarval : return "k_tarval"; case k_ir_loop : return "k_ir_loop"; case k_ir_compound_graph_path : return "k_ir_compound_graph_path"; + case k_ir_extblk : return "k_ir_extblk"; + case k_ir_prog : return "k_ir_prog"; default: return ""; } -} +} /* print_firm_kind */ /* * identify a firm thing */ void firm_identify_thing(void *X) { - firm_kind *p = X; - - if (! p) { + if (! X) { printf("(NULL)\n"); return; } - switch (*p) { + switch (get_kind(X)) { case k_BAD: printf("BAD: (%p)\n", X); break; @@ -80,7 +76,10 @@ void firm_identify_thing(void *X) printf("irnode: %s%s %ld (%p)\n", get_irn_opname(X), get_mode_name(get_irn_mode(X)), get_irn_node_nr(X), X); break; case k_ir_mode: - printf("mode %s: (%p)\n", get_mode_name(X),X); + printf("mode %s: (%p)\n", get_mode_name(X), X); + break; + case k_ir_op: + printf("op %s: (%p)\n", get_op_name(X), X); break; case k_tarval: printf("tarval : "); tarval_printf(X); printf(" (%p)\n", X); @@ -88,9 +87,16 @@ void firm_identify_thing(void *X) case k_ir_loop: printf("loop: with depth %d: (%p)\n", get_loop_depth(X), X); break; - case k_ir_op: case k_ir_compound_graph_path: + printf("compound_graph_path: (%p)\n", X); + break; + case k_ir_extblk: + printf("extended block: (%p)\n", X); + break; + case k_ir_prog: + printf("irp: (%p)\n", X); + break; default: printf("Cannot identify thing at (%p).\n", X); } -} +} /* firm_identify_thing */