X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Firgraph.h;h=0d2ce3b86c2019361600fc3a62b7ca4da087c0a6;hb=e810b4fa9931a8179bdaf868faec21416e6c87fb;hp=ecf881802292afbdd972f15f7d7d8e49ae511f7c;hpb=b519dd6a1e6d85e843eff533be787d1f138a07ff;p=libfirm diff --git a/include/libfirm/irgraph.h b/include/libfirm/irgraph.h index ecf881802..0d2ce3b86 100644 --- a/include/libfirm/irgraph.h +++ b/include/libfirm/irgraph.h @@ -125,10 +125,14 @@ extern ir_graph *current_ir_graph; ir_graph *get_current_ir_graph(void); void set_current_ir_graph(ir_graph *graph); +#ifdef INTERPROCEDURAL_VIEW /** This flag indicate the current view. The behavior of some methods * (get_irn_*, set_irn_*) is influenced by this flag. */ int get_interprocedural_view(void); void set_interprocedural_view(int state); +#else +#define get_interprocedural_view() 0 +#endif /** * Create a new ir graph to build ir for a procedure. @@ -272,8 +276,17 @@ void set_irg_no_mem (ir_graph *irg, ir_node *node); /** Returns the number of value numbers of a graph. */ int get_irg_n_locs (ir_graph *irg); +#ifdef DEBUG_libfirm /** Returns the graph number. */ -long get_irg_graph_nr(ir_graph *irg); +long get_irg_graph_nr(const ir_graph *irg); +#endif + +/** + * Returns the graph number. This is a unique number for the graph and is + * smaller than get_irp_last_idx() + * Note: you cannot use this number for get_irp_irg + */ +int get_irg_idx(const ir_graph *irg); /********************************************************************************/ /* States of an ir_graph. */ @@ -513,6 +526,9 @@ static INLINE void clear_using_irn_link(ir_graph *irg) { (void) irg; } static INLINE int using_irn_link(const ir_graph *irg) { (void) irg; return 0; } #endif +/** Normalization: Move Proj nodes into the same block as its predecessors */ +void normalize_proj_nodes(ir_graph *irg); + /** set a description for local value n */ void set_irg_loc_description(ir_graph *irg, int n, void *description);