X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgraph.h;h=1bbe4bb0f0891bb30603f0b799f59790eeab1df1;hb=d2dc2564b47d9c113d7e6e598574e9733627fcca;hp=4ca81b4c91b7d70ef8de84db9fb81e63aa8f52ca;hpb=0cee469f666d9f6cd114e63e37ee1d5ff007332a;p=libfirm diff --git a/ir/ir/irgraph.h b/ir/ir/irgraph.h index 4ca81b4c9..1bbe4bb0f 100644 --- a/ir/ir/irgraph.h +++ b/ir/ir/irgraph.h @@ -210,12 +210,6 @@ void set_irg_end_reg (ir_graph *irg, ir_node *node); ir_node *get_irg_end_except (const ir_graph *irg); void set_irg_end_except (ir_graph *irg, ir_node *node); - -/* @@@ oblivious, no more supported. */ -ir_node *get_irg_cstore (const ir_graph *irg); -void set_irg_cstore (ir_graph *irg, ir_node *node); -/* end oblivious */ - /** Returns the node that represents the frame pointer. */ ir_node *get_irg_frame (const ir_graph *irg); /** Sets the node that represents the frame pointer. */ @@ -270,12 +264,12 @@ long get_irg_graph_nr(ir_graph *irg); /** The states of an ir graph. * - * state phase values: phase_building, phase_high, phase_low. + * state phase values: phase_building, phase_high, phase_low, phase_backend. * * The graph is in phase_building during construction of the irgraph. * The construction is finished by a call to finalize_cons(). * - * Finalize_cons() sets the state to phase_high. All Firm nodes are + * Finalize_cons() sets the state to phase_high. All stadard Firm nodes are * allowed. * * To get the irgraph into phase_low all Sel nodes must be removed and @@ -283,18 +277,23 @@ long get_irg_graph_nr(ir_graph *irg); * type tag nodes must be removed (@@@ really?). Initialization of * memory allocated by Alloc must be explicit. @@@ More conditions? * + * phase_backend is set if architecture specific machine nodes are inserted + * (and probally most standard Firm are removed). */ typedef enum { phase_building, phase_high, - phase_low + phase_low, + phase_backend } irg_phase_state; /** returns the phase_state of an IR graph. */ irg_phase_state get_irg_phase_state (const ir_graph *irg); /** sets the phase state of an IR graph. */ -void set_irg_phase_low(ir_graph *irg); +void set_irg_phase_state(ir_graph *irg, irg_phase_state state); + +#define set_irg_phase_low(irg) set_irg_phase_state(irg, phase_low) /** state: op_pin_state_pinned The graph is "op_pin_state_pinned" if all nodes are associated with a basic block. @@ -476,6 +475,9 @@ void *get_irg_loc_description(ir_graph *irg, int n); */ unsigned get_irg_estimated_node_cnt(const ir_graph *irg); +/** Returns the last irn index for this graph. */ +unsigned get_irg_last_idx(const ir_graph *irg); + /** * Access custom graph data. * The data must have been registered with