X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgraph.h;h=4282b3bfe7311bd7636afe841c2ffd1c7175320e;hb=19975388facbb3943fbc2aa2f5f9422350bb5cb3;hp=89dfc7508af13e2a7cf99bc25f4d9bd38ebf7df6;hpb=21cee85bac8b7c423f6acf3ca61ab8995962bc2b;p=libfirm diff --git a/ir/ir/irgraph.h b/ir/ir/irgraph.h index 89dfc7508..4282b3bfe 100644 --- a/ir/ir/irgraph.h +++ b/ir/ir/irgraph.h @@ -143,6 +143,16 @@ void set_irg_end_block (ir_graph *irg, ir_node *node); ir_node *get_irg_end (ir_graph *irg); void set_irg_end (ir_graph *irg, ir_node *node); +/* The fields end_reg and end_except contain the end nodes of the + interprocedural view. If the view is not constructed they contain + the nomal end node. */ +ir_node *get_irg_end_reg (ir_graph *irg); +void set_irg_end_reg (ir_graph *irg, ir_node *node); + +ir_node *get_irg_end_except (ir_graph *irg); +void set_irg_end_except (ir_graph *irg, ir_node *node); + + /* @@@ oblivious, no more supported. */ ir_node *get_irg_cstore (ir_graph *irg); void set_irg_cstore (ir_graph *irg, ir_node *node); @@ -174,7 +184,7 @@ void set_irg_unknown (ir_graph *irg, ir_node *node); int get_irg_n_locs (ir_graph *irg); -INLINE long get_irg_graph_nr(ir_graph *irg); +long get_irg_graph_nr(ir_graph *irg); /********************************************************************************/ /* States of an ir_graph. */ @@ -244,13 +254,21 @@ 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. */ -/* @@@ make unrecognizable for jni script!!! -- Why??? */ typedef enum { - no_loopinfo, - loopinfo_consistent, - loopinfo_inconsistent + loopinfo_none, /**< No loop information is constructed. Default. */ + loopinfo_consistent, /**< IntRAprocedural loop information constructed and valid. */ + loopinfo_inconsistent, /**< IntRAprocedural loop information constructed and invalid. */ + loopinfo_ip_consistent, /**< IntERprocedural loop information constructed and valid. */ + loopinfo_ip_inconsistent, /**< IntERprocedural loop information constructed and invalid. */ + loopinfo_cf_consistent, /**< IntRAprocedural control loop information constructed and valid. */ + loopinfo_cf_inconsistent, /**< IntRAprocedural control loop information constructed and invalid. */ + loopinfo_cf_ip_consistent, /**< IntERprocedural control loop information constructed and valid. */ + loopinfo_cf_ip_inconsistent /**< IntERprocedural control loop information constructed and invalid. */ } irg_loopinfo_state; irg_loopinfo_state get_irg_loopinfo_state(ir_graph *irg); +void set_irg_loopinfo_state(ir_graph *irg, irg_loopinfo_state s); +/* Sets the loopinformation state to the appropriate inconsistent state. + If state is 'none' does not change. */ void set_irg_loopinfo_inconsistent(ir_graph *irg);