- reserve the visited resource
[libfirm] / ir / be / bedomfront.c
index c4c3d42..fec39d8 100644 (file)
@@ -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.
  *
@@ -24,9 +24,7 @@
  * @date        04.05.2005
  * @version     $Id$
  */
-#ifdef HAVE_CONFIG_H
 #include "config.h"
-#endif
 
 #include "obst.h"
 #include "pmap.h"
@@ -55,7 +53,7 @@ struct _be_dom_front_info_t {
  * @param bl The block.
  * @return The immediate dominator of the block.
  */
-static INLINE
+static inline
 ir_node *get_idom(ir_node *bl)
 {
        ir_node *idom = get_Block_idom(bl);
@@ -115,7 +113,7 @@ ir_node **compute_df(ir_node *blk, be_dom_front_info_t *info)
 
 be_dom_front_info_t *be_compute_dominance_frontiers(ir_graph *irg)
 {
-       be_dom_front_info_t *info = xmalloc(sizeof(*info));
+       be_dom_front_info_t *info = XMALLOC(be_dom_front_info_t);
 
        edges_assure(irg);
        obstack_init(&info->obst);
@@ -140,6 +138,7 @@ ir_node **be_get_dominance_frontier(const be_dom_front_info_t *info,
        return pmap_get(info->df_map, block);
 }
 
+#if 0
 /**
  * Calculates the iterated dominance frontier of a set of blocks.
  * Also clears the link field of the returned blocks as a side effect
@@ -155,7 +154,7 @@ void be_get_iterated_dominance_frontiers(const be_dom_front_info_t *domfronts,
                waitq_put(worklist, block);
        }
 
-       while(! pdeq_empty(worklist)) {
+       while(! waitq_empty(worklist)) {
                int     i;
                ir_node *block       = waitq_get(worklist);
                ir_node **domfront   = be_get_dominance_frontier(domfronts, block);
@@ -163,12 +162,11 @@ void be_get_iterated_dominance_frontiers(const be_dom_front_info_t *domfronts,
 
                for (i = 0; i < domfront_len; ++i) {
                        ir_node *y = domfront[i];
-                       if(!ir_nodeset_insert(blocks, y))
-                               continue;
-
-                       waitq_put(worklist, y);
+                       if (ir_nodeset_insert(blocks, y))
+                               waitq_put(worklist, y);
                }
        }
 
        del_waitq(worklist);
 }
+#endif