give Bad nodes a mode
[libfirm] / include / libfirm / cdep.h
index 0e7f891..58e5d3f 100644 (file)
 #include "firm_types.h"
 #include "begin.h"
 
-/**
- * An entry in the control dependence list.
- */
-struct ir_cdep {
-       ir_node *node;  /**< A node on which the current block is control dependent on. */
-       ir_cdep    *next;  /**< Link to the next one if any. */
-};
-
 /** Compute the control dependence graph for a graph. */
 FIRM_API void compute_cdep(ir_graph *irg);
 
 /** Free the control dependence info. */
 FIRM_API void free_cdep(ir_graph *irg);
 
+/** Return control dependent block */
+FIRM_API ir_node *get_cdep_node(const ir_cdep *cdep);
+
+/** Get next entry in a list of cdeps */
+FIRM_API ir_cdep *get_cdep_next(const ir_cdep *cdep);
+
 /**
  * Return a list of all control dependences of a block.
  */
@@ -62,15 +60,8 @@ FIRM_API void exchange_cdep(ir_node *old, const ir_node *nw);
 FIRM_API int is_cdep_on(const ir_node *dependee, const ir_node *candidate);
 
 /**
- * Check whether dependee is (possible iterated) control dependent on candidate.
- *
- * @param dependee   the (possible) dependent block
- * @param candidate  the (possible) block on which dependee is dependent
- */
-FIRM_API int is_iterated_cdep_on(ir_node *dependee, ir_node *candidate);
-
-/**
- * If block is control dependent on exactly one node, return this node, else NULL.
+ * If block is control dependent on exactly one node, return this node,
+ * else NULL.
  *
  * @param block  the block to check
  */