projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed the "naive and wrong regex stubs", so it has the right signature and returns...
[libfirm]
/
include
/
libfirm
/
irouts.h
diff --git
a/include/libfirm/irouts.h
b/include/libfirm/irouts.h
index
f1933c0
..
93c7770
100644
(file)
--- a/
include/libfirm/irouts.h
+++ b/
include/libfirm/irouts.h
@@
-28,6
+28,7
@@
#define FIRM_ANA_IROUTS_H
#include "firm_types.h"
#define FIRM_ANA_IROUTS_H
#include "firm_types.h"
+#include "begin.h"
/*------------------------------------------------------------------*/
/* Accessing the out datastructures. */
/*------------------------------------------------------------------*/
/* Accessing the out datastructures. */
@@
-39,16
+40,16
@@
order of successors guaranteed. Will return edges from block to floating
nodes even if irgraph is in state "op_pin_state_floats". */
/* returns the number of successors of the node: */
order of successors guaranteed. Will return edges from block to floating
nodes even if irgraph is in state "op_pin_state_floats". */
/* returns the number of successors of the node: */
-
int get_irn_n_outs(
ir_node *node);
+
FIRM_API int get_irn_n_outs(const
ir_node *node);
/** Get the User of a node from the Def-Use edge at position pos. */
/** Get the User of a node from the Def-Use edge at position pos. */
-
ir_node *get_irn_out(
ir_node *def, int pos);
+
FIRM_API ir_node *get_irn_out(const
ir_node *def, int pos);
/**
* Get the User and its input position from the Def-Use edge of def
* at position pos.
*/
/**
* Get the User and its input position from the Def-Use edge of def
* at position pos.
*/
-
ir_node *get_irn_out_ex(
ir_node *def, int pos, int *in_pos);
+
FIRM_API ir_node *get_irn_out_ex(const
ir_node *def, int pos, int *in_pos);
/**
* Set the User at position pos.
/**
* Set the User at position pos.
@@
-58,42
+59,40
@@
ir_node *get_irn_out_ex(ir_node *def, int pos, int *in_pos);
* @param use the Use node
* @param in_pos the number of the corresponding Use-Def edge in the use node in array
*/
* @param use the Use node
* @param in_pos the number of the corresponding Use-Def edge in the use node in array
*/
-
void
set_irn_out(ir_node *def, int pos, ir_node *use, int in_pos);
+
FIRM_API void
set_irn_out(ir_node *def, int pos, ir_node *use, int in_pos);
/* Methods to iterate through the control flow graph. Iterate from 0 to
i < get_Block_cfg_outs(block). No order of successors guaranteed. */
/** Return the number of control flow successors, ignore keep-alives. */
/* Methods to iterate through the control flow graph. Iterate from 0 to
i < get_Block_cfg_outs(block). No order of successors guaranteed. */
/** Return the number of control flow successors, ignore keep-alives. */
-
int get_Block_n_cfg_outs(
ir_node *node);
+
FIRM_API int get_Block_n_cfg_outs(const
ir_node *node);
/** Return the number of control flow successors, honor keep-alives. */
/** Return the number of control flow successors, honor keep-alives. */
-
int get_Block_n_cfg_outs_ka(
ir_node *node);
+
FIRM_API int get_Block_n_cfg_outs_ka(const
ir_node *node);
/** Access predecessor n, ignore keep-alives. */
/** Access predecessor n, ignore keep-alives. */
-
ir_node *get_Block_cfg_out(
ir_node *node, int pos);
+
FIRM_API ir_node *get_Block_cfg_out(const
ir_node *node, int pos);
/** Access predecessor n, honor keep-alives. */
/** Access predecessor n, honor keep-alives. */
-
ir_node *get_Block_cfg_out_ka(
ir_node *node, int pos);
+
FIRM_API ir_node *get_Block_cfg_out_ka(const
ir_node *node, int pos);
/** Walks over the graph starting at node. Walks also if graph is in state
"outs_inconsistent". Assumes current_ir_graph is set properly. */
/** Walks over the graph starting at node. Walks also if graph is in state
"outs_inconsistent". Assumes current_ir_graph is set properly. */
-void irg_out_walk(ir_node *node,
- irg_walk_func *pre, irg_walk_func *post,
- void *env);
+FIRM_API void irg_out_walk(ir_node *node, irg_walk_func *pre,
+ irg_walk_func *post, void *env);
-/** Walks only over Block nodes in the graph. Has it
'
s own visited
+/** Walks only over Block nodes in the graph. Has its own visited
flag, so that it can be interleaved with the other walker.
node must be either op_Block or mode_X. */
flag, so that it can be interleaved with the other walker.
node must be either op_Block or mode_X. */
-void irg_out_block_walk(ir_node *node,
- irg_walk_func *pre, irg_walk_func *post,
- void *env);
+FIRM_API void irg_out_block_walk(ir_node *node, irg_walk_func *pre,
+ irg_walk_func *post, void *env);
/**
* returns 1 if outs have been computed for a node, 0 otherwise.
*
/**
* returns 1 if outs have been computed for a node, 0 otherwise.
*
- * this is useful
l
to detect newly created nodes that have no outs set yet
+ * this is useful to detect newly created nodes that have no outs set yet
*/
*/
-int get_irn_outs_computed(const ir_node *node);
+
FIRM_API
int get_irn_outs_computed(const ir_node *node);
/*------------------------------------------------------------------*/
/* Building and Removing the out datastructure */
/*------------------------------------------------------------------*/
/* Building and Removing the out datastructure */
@@
-103,19
+102,14
@@
int get_irn_outs_computed(const ir_node *node);
graph is changed this flag must be set to "outs_inconsistent". Computes
out edges from block to floating nodes even if graph is in state
"op_pin_state_floats". Optimizes Tuple nodes. */
graph is changed this flag must be set to "outs_inconsistent". Computes
out edges from block to floating nodes even if graph is in state
"op_pin_state_floats". Optimizes Tuple nodes. */
-void compute_irg_outs(ir_graph *irg);
-void compute_irp_outs(void);
+
FIRM_API
void compute_irg_outs(ir_graph *irg);
+
FIRM_API
void compute_irp_outs(void);
-void assure_irg_outs(ir_graph *irg);
+
FIRM_API
void assure_irg_outs(ir_graph *irg);
-#ifdef INTERPROCEDURAL_VIEW
-/** Computes the out edges in interprocedural view */
-void compute_ip_outs(void);
-/** Frees the out datastructures. Sets the flag in irg to "outs_none". */
-void free_ip_outs(void);
-#endif
+FIRM_API void free_irg_outs(ir_graph *irg);
+FIRM_API void free_irp_outs(void);
-void free_irg_outs(ir_graph *irg);
-void free_irp_outs(void);
+#include "end.h"
#endif
#endif