Make remove_compound_member() an official API method.
[libfirm] / include / libfirm / cdep.h
index 88bf802..0e7f891 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
 #define FIRM_ANA_CDEP_H
 
 #include "firm_types.h"
+#include "begin.h"
 
 /**
  * An entry in the control dependence list.
  */
-typedef struct cdep cdep;
-struct cdep {
+struct ir_cdep {
        ir_node *node;  /**< A node on which the current block is control dependent on. */
-       cdep    *next;  /**< Link to the next one if any. */
+       ir_cdep    *next;  /**< Link to the next one if any. */
 };
 
 /** Compute the control dependence graph for a graph. */
-void compute_cdep(ir_graph *irg);
+FIRM_API void compute_cdep(ir_graph *irg);
 
 /** Free the control dependence info. */
-void free_cdep(ir_graph *irg);
+FIRM_API void free_cdep(ir_graph *irg);
 
 /**
  * Return a list of all control dependences of a block.
  */
-cdep *find_cdep(const ir_node *block);
+FIRM_API ir_cdep *find_cdep(const ir_node *block);
 
-void exchange_cdep(ir_node *old, const ir_node *nw);
+/**
+ * Replace the control dependence info of old by the info of nw.
+ */
+FIRM_API void exchange_cdep(ir_node *old, const ir_node *nw);
 
 /**
  * Check whether dependee is (directly) control dependent on candidate.
@@ -56,7 +59,7 @@ void exchange_cdep(ir_node *old, const ir_node *nw);
  * @param dependee   the (possible) dependent block
  * @param candidate  the (possible) block on which dependee is dependent
  */
-int is_cdep_on(const ir_node *dependee, const ir_node *candidate);
+FIRM_API int is_cdep_on(const ir_node *dependee, const ir_node *candidate);
 
 /**
  * Check whether dependee is (possible iterated) control dependent on candidate.
@@ -64,20 +67,22 @@ int is_cdep_on(const ir_node *dependee, const ir_node *candidate);
  * @param dependee   the (possible) dependent block
  * @param candidate  the (possible) block on which dependee is dependent
  */
-int is_iterated_cdep_on(ir_node *dependee, ir_node *candidate);
+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.
  *
  * @param block  the block to check
  */
-ir_node *get_unique_cdep(const ir_node *block);
+FIRM_API ir_node *get_unique_cdep(const ir_node *block);
 
 /**
- * check if the given block is control dependent of more than one node.
+ * Check if the given block is control dependent of more than one node.
  *
  * @param block   the block to check
  */
-int has_multiple_cdep(const ir_node *block);
+FIRM_API int has_multiple_cdep(const ir_node *block);
+
+#include "end.h"
 
 #endif