X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Firbackedge.c;h=e1a6eefc2b35123731852903da933803c82b0a0e;hb=f6aeac6a547a52beb3cb663c5e63c05c9c3728ea;hp=79f4586b89ef05bb7cf7b3e275eb71c6d6d2af87;hpb=1535324d82eaddebb17a0ece9d5980d5da73e7bb;p=libfirm diff --git a/ir/ana/irbackedge.c b/ir/ana/irbackedge.c index 79f4586b8..e1a6eefc2 100644 --- a/ir/ana/irbackedge.c +++ b/ir/ana/irbackedge.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -59,8 +59,8 @@ static unsigned *mere_get_backarray(ir_node *n) { } break; case iro_Phi: - assert(n->attr.phi_backedge && "backedge array not allocated!"); - return n->attr.phi_backedge; + assert(n->attr.phi.u.backedge && "backedge array not allocated!"); + return n->attr.phi.u.backedge; break; case iro_Filter: if (get_interprocedural_view()) { @@ -91,16 +91,18 @@ static unsigned *get_backarray(ir_node *n) { return ba; } +#ifndef NDEBUG /** * Returns non-zero if node has no backarray, or * if size of backarray == size of in array. */ static int legal_backarray(ir_node *n) { unsigned *ba = mere_get_backarray(n); - if (ba && (rbitset_size(ba) != get_irn_arity(n))) + if (ba && (rbitset_size(ba) != (unsigned) get_irn_arity(n))) return 0; return 1; } +#endif void fix_backedges(struct obstack *obst, ir_node *n) { unsigned *arr = mere_get_backarray(n); @@ -111,12 +113,12 @@ void fix_backedges(struct obstack *obst, ir_node *n) { return; arity = get_irn_arity(n); - if (rbitset_size(arr) != arity) { + if (rbitset_size(arr) != (unsigned) arity) { arr = new_backedge_arr(obst, arity); opc = get_irn_opcode(n); if (opc == iro_Phi) - n->attr.phi_backedge = arr; + n->attr.phi.u.backedge = arr; else if (opc == iro_Block) { if (!get_interprocedural_view()) n->attr.block.backedge = arr; @@ -222,7 +224,7 @@ void new_backedge_info(ir_node *n) { n->attr.block.backedge = new_backedge_arr(current_ir_graph->obst, get_irn_arity(n)); break; case iro_Phi: - n->attr.phi_backedge = new_backedge_arr(current_ir_graph->obst, get_irn_arity(n)); + n->attr.phi.u.backedge = new_backedge_arr(current_ir_graph->obst, get_irn_arity(n)); break; case iro_Filter: n->attr.filter.backedge = new_backedge_arr(current_ir_graph->obst, get_irn_arity(n));