X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Ftrouts.c;h=90284a2872fdf76738769e18bdec3e2e75d473e0;hb=c59d37f47fdab6d74f1da6738b2d3f3373a378b9;hp=96e6016f99f3ffb1165e843db7d23a13bdf1ed4d;hpb=b75bd7505027badb025b45a301f8ee84d1f9e6ae;p=libfirm diff --git a/ir/ana/trouts.c b/ir/ana/trouts.c index 96e6016f9..90284a287 100644 --- a/ir/ana/trouts.c +++ b/ir/ana/trouts.c @@ -24,9 +24,7 @@ * @date 29.10.2004 * @version $Id$ */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include "irnode.h" #include "trouts.h" @@ -187,7 +185,7 @@ static ir_type **get_type_arraytype_array(const ir_type *tp) { return res; } -const void set_type_arraytype_array(const ir_type *tp, ir_type **pts) { +void set_type_arraytype_array(const ir_type *tp, ir_type **pts) { ir_type **old = pmap_get(type_arraytype_map, tp); if (old != pts) pmap_insert(type_arraytype_map, tp, (void *)pts); @@ -495,52 +493,44 @@ static ir_entity *get_Sel_accessed_entity(const ir_node *sel) { /** An addr node is a SymConst or a Sel. */ static int get_addr_n_entities(const ir_node *addr) { - int n_ents; - switch (get_irn_opcode(addr)) { case iro_Sel: /* Treat jack array sels? */ - n_ents = get_Sel_n_accessed_entities(addr); - break; + return get_Sel_n_accessed_entities(addr); case iro_SymConst: - if (get_SymConst_kind(addr) == symconst_addr_ent) { - n_ents = 1; - break; - } + if (get_SymConst_kind(addr) == symconst_addr_ent) + return 1; + return 0; default: - //assert(0 && "unexpected address expression"); - n_ents = 0; + return 0; } - - return n_ents; } /** An addr node is a SymConst or a Sel. If Sel follow to outermost of compound. */ static ir_entity *get_addr_entity(const ir_node *addr, int pos) { - ir_entity *ent; + ir_node *ptr; (void) pos; switch (get_irn_opcode(addr)) { case iro_Sel: /* Treat jack array sels? They are compounds! Follow to outermost entity. */ - while (is_Sel(get_Sel_ptr(addr))) { - addr = get_Sel_ptr(addr); + ptr = get_Sel_ptr(addr); + while (is_Sel(ptr)) { + addr = ptr; + ptr = get_Sel_ptr(addr); } - assert (0 <= pos && pos < get_Sel_n_accessed_entities(addr)); - ent = get_Sel_accessed_entity(addr); - break; + assert(0 <= pos && pos < get_Sel_n_accessed_entities(addr)); + return get_Sel_accessed_entity(addr); case iro_SymConst: if (get_SymConst_kind(addr) == symconst_addr_ent) { assert(pos == 0); - ent = get_SymConst_entity(addr); - break; + return get_SymConst_entity(addr); } + return NULL; default: - ent = NULL; + return NULL; } - - return ent; } static void chain_accesses(ir_node *n, void *env) { @@ -548,10 +538,10 @@ static void chain_accesses(ir_node *n, void *env) { ir_node *addr; (void) env; - if (get_irn_op(n) == op_Alloc) { + if (is_Alloc(n)) { add_type_alloc(get_Alloc_type(n), n); return; - } else if (get_irn_op(n) == op_Cast) { + } else if (is_Cast(n)) { add_type_cast(get_Cast_type(n), n); return; } else if (is_Sel(n)) { @@ -562,7 +552,7 @@ static void chain_accesses(ir_node *n, void *env) { return; } else if (is_memop(n)) { addr = get_memop_ptr(n); - } else if (get_irn_op(n) == op_Call) { + } else if (is_Call(n)) { addr = get_Call_ptr(n); if (! is_Sel(addr)) return; /* Sels before Calls mean a Load / polymorphic Call. */ } else { @@ -595,7 +585,7 @@ irg_outs_state get_trouts_state(void) { return irp->trouts_state; } -void set_trouts_inconsistent(void) { +void set_trouts_inconsistent(void) { if (irp->trouts_state == outs_consistent) irp->trouts_state = outs_inconsistent; }