};
/** Accessor for private irn info. */
-#define _get_irn_edge_info(irn) ((irn_edge_info_t *) &(irn)->edge_info)
+#define _get_irn_edge_info(irn) (&(irn)->edge_info)
/** Accessor for private irg info. */
-#define _get_irg_edge_info(irg) ((irg_edge_info_t *) &(irg)->edge_info)
+#define _get_irg_edge_info(irg) (&(irg)->edge_info)
/**
* Convenience macro to get the outs_head from a irn_edge_info_t
*/
static INLINE const ir_edge_t *_get_irn_out_edge_first(const ir_node *irn)
{
- struct list_head *head = _get_irn_outs_head(irn);
+ const struct list_head *head = _get_irn_outs_head(irn);
return list_empty(head) ? NULL : list_entry(head->next, ir_edge_t, list);
}
*/
static INLINE int _get_irn_n_edges(const ir_node *irn)
{
-/* Perhaps out_count was buggy. This code does it more safely.
-
+/* Perhaps out_count was buggy. This code does it more safely. */
+#if 1
int res = 0;
- struct list_head *pos, *head = _get_irn_outs_head(irn);
+ const struct list_head *pos, *head = _get_irn_outs_head(irn);
list_for_each(pos, head)
res++;
return res;
-*/
+#else
return _get_irn_edge_info(irn)->out_count;
+#endif
}
static INLINE int _edges_activated(const ir_graph *irg)