automatically generated pn_ numbers from the spec file
[libfirm] / ir / ir / iredges_t.h
index 07f8d73..979b311 100644 (file)
@@ -78,7 +78,9 @@ struct _ir_edge_t {
 */
 static inline const ir_edge_t *_get_irn_out_edge_first_kind(const ir_node *irn, ir_edge_kind_t kind)
 {
-       const struct list_head *head = _get_irn_outs_head(irn, kind);
+       const struct list_head *head;
+       assert(edges_activated_kind(get_irn_irg(irn), kind));
+       head = _get_irn_outs_head(irn, kind);
        return list_empty(head) ? NULL : list_entry(head->next, ir_edge_t, list);
 }
 
@@ -131,15 +133,9 @@ static inline void _edges_assure_kind(ir_graph *irg, int kind)
 void edges_init_graph_kind(ir_graph *irg, ir_edge_kind_t kind);
 
 /**
-* Notify of a edge change.
-* The edge from (src, pos) -> old_tgt is redirected to tgt
-*/
-void edges_notify_edge_kind(ir_node *src, int pos, ir_node *tgt, ir_node *old_tgt, ir_edge_kind_t kind, ir_graph *irg);
-
-/**
-* A node is deleted.
-*/
-void edges_node_deleted(ir_node *old, ir_graph *irg);
+ * A node might be revivaled by CSE.
+ */
+void edges_node_revival(ir_node *node, ir_graph *irg);
 
 void edges_invalidate_kind(ir_node *irn, ir_edge_kind_t kind, ir_graph *irg);
 
@@ -181,12 +177,13 @@ static inline int _get_edge_src_pos(const ir_edge_t *edge)
 */
 extern void init_edges(void);
 
+void edges_invalidate_all(ir_node *irn, ir_graph *irg);
+
 /**
- * Set dbg information for edges.
+ * Helper function to dump the edge set of a graph,
+ * unused in normal code.
  */
-void edges_init_dbg(int do_dbg);
-
-void edges_invalidate_all(ir_node *irn, ir_graph *irg);
+void edges_dump_kind(ir_graph *irg, ir_edge_kind_t kind);
 
 #define get_irn_n_edges_kind(irn, kind)   _get_irn_n_edges_kind(irn, kind)
 #define get_edge_src_irn(edge)            _get_edge_src_irn(edge)