*/
static INLINE int _get_irn_n_edges(const ir_node *irn)
{
- return _get_irn_edge_info(irn)->out_count;
+/* Perhaps out_count was buggy. This code does it more safely.
+
+ int res = 0;
+ struct list_head *pos, *head = _get_irn_outs_head(irn);
+ list_for_each(pos, head)
+ res++;
+ return res;
+*/
+ return _get_irn_edge_info(irn)->out_count;
}
static INLINE int _edges_activated(const ir_graph *irg)