X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgraph.h;h=0d4ed542c4eb5cd3571f7aefd6f12923118b2fe4;hb=637542932dc27dcdfc7def09b58d9d5d4c34fb77;hp=8a3fe64481ba75274d97be50044372b9aebc17e4;hpb=5cf3f4134c6d6e9b00749fcbaca703b6c19d90b1;p=libfirm diff --git a/ir/ir/irgraph.h b/ir/ir/irgraph.h index 8a3fe6448..0d4ed542c 100644 --- a/ir/ir/irgraph.h +++ b/ir/ir/irgraph.h @@ -21,6 +21,7 @@ #include #include "irop.h" +#include "irextbb.h" # ifndef _IRGRAPH_H_ # define _IRGRAPH_H_ @@ -82,7 +83,7 @@ typedef struct ir_graph ir_graph; * it's result. This is a Proj node on the fourth output of * the start node. This output is tagged as pn_Start_T_args. * - * *proj_args The proj nodes off the args node. + * *proj_args The proj nodes of the args node. * * *bad The Bad node is an auxiliary node. It is needed only once, * so there is this globally reachable node. @@ -249,9 +250,9 @@ ir_node *get_irg_args (const ir_graph *irg); /** Sets the node that represents the argument pointer. */ void set_irg_args (ir_graph *irg, ir_node *node); -/** Returns an array of the nodes off the argument pointer. */ +/** Returns an array of the nodes of the argument pointer. */ ir_node **get_irg_proj_args (const ir_graph *irg); -/** Sets the array of the nodes off the argument pointer. */ +/** Sets the array of the nodes of the argument pointer. */ void set_irg_proj_args (ir_graph *irg, ir_node **nodes); /** Returns the current block of a graph. */ @@ -352,8 +353,9 @@ irg_dom_state get_irg_dom_state(const ir_graph *irg); void set_irg_dom_inconsistent(ir_graph *irg); /** state: loopinfo_state - Loop information describes the loops within the control and - data flow of the procedure. */ + * Loop information describes the loops within the control and + * data flow of the procedure. + */ typedef enum { loopinfo_none = 0, /**< No loop information is constructed. Default. */ loopinfo_constructed = 1, /**< Some kind of loop information is constructed. */ @@ -365,7 +367,7 @@ typedef enum { are used in a switch. */ /** IntRAprocedural loop information constructed and valid. */ - loopinfo_consistent = loopinfo_constructed | loopinfo_valid, + loopinfo_consistent = loopinfo_constructed | loopinfo_for_firmjni | loopinfo_valid, /** IntRAprocedural loop information constructed and invalid. */ loopinfo_inconsistent = loopinfo_constructed | loopinfo_for_firmjni, @@ -385,9 +387,13 @@ typedef enum { loopinfo_cf_ip_inconsistent = loopinfo_constructed | loopinfo_cf | loopinfo_inter } irg_loopinfo_state; +/** Return the current loop information state. */ irg_loopinfo_state get_irg_loopinfo_state(const ir_graph *irg); + +/** Sets the current loop information state. */ void set_irg_loopinfo_state(ir_graph *irg, irg_loopinfo_state s); -/** Sets the loopinformation state to the appropriate inconsistent state. + +/** Sets the loop information state to the appropriate inconsistent state. If state is 'none' does not change. */ void set_irg_loopinfo_inconsistent(ir_graph *irg);