Cleanup: remove firm_common_t.h (and the PRECISE_EXC_CONTEXT define)
[libfirm] / ir / ana / irbackedge.c
index cb4a366..e8d780a 100644 (file)
@@ -24,9 +24,7 @@
  * @date      7.2002
  * @version   $Id$
  */
-#ifdef HAVE_CONFIG_H
 #include "config.h"
-#endif
 
 #include "irnode_t.h"
 #include "irgraph_t.h"
@@ -59,8 +57,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 +89,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 +111,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 +222,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));