Support dtor sections on Mach-O.
[libfirm] / ir / ir / iredges_t.h
index 07f8d73..c2b291b 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);
 }
 
@@ -141,6 +143,11 @@ void edges_notify_edge_kind(ir_node *src, int pos, ir_node *tgt, ir_node *old_tg
 */
 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);
 
 /**