+ if (get_opt_precise_exc_context())
+ irg->n_loc = n_loc + 1 + 1;
+ else
+ irg->n_loc = n_loc + 1;
+}
+
+
+
+/* Returns the obstack associated with the graph. */
+struct obstack *
+(get_irg_obstack)(const ir_graph *irg) {
+ return _get_irg_obstack(irg);
+}
+
+/*
+ * Returns true if the node n is allocated on the storage of graph irg.
+ *
+ * Implementation is GLIBC specific as is uses the internal _obstack_chunk implementation.
+ */
+int node_is_in_irgs_storage(ir_graph *irg, ir_node *n)
+{
+ struct _obstack_chunk *p;
+
+ /*
+ * checks weather the ir_node pointer is on the obstack.
+ * A more sophisticated check would test the "whole" ir_node
+ */
+ for (p = irg->obst->chunk; p; p = p->prev) {
+ if (((char *)p->contents <= (char *)n) && ((char *)n < (char *)p->limit))
+ return 1;
+ }
+
+ return 0;
+}
+
+irg_phase_state
+(get_irg_phase_state)(const ir_graph *irg) {
+ return _get_irg_phase_state(irg);
+}
+
+void
+(set_irg_phase_state)(ir_graph *irg, irg_phase_state state) {
+ _set_irg_phase_state(irg, state);
+}
+
+op_pin_state
+(get_irg_pinned)(const ir_graph *irg) {
+ return _get_irg_pinned(irg);
+}
+
+irg_outs_state
+(get_irg_outs_state)(const ir_graph *irg) {
+ return _get_irg_outs_state(irg);
+}
+
+void
+(set_irg_outs_inconsistent)(ir_graph *irg) {
+ _set_irg_outs_inconsistent(irg);
+}
+
+irg_extblk_state
+(get_irg_extblk_state)(const ir_graph *irg) {
+ return _get_irg_extblk_state(irg);
+}
+
+void
+(set_irg_extblk_inconsistent)(ir_graph *irg) {
+ _set_irg_extblk_inconsistent(irg);
+}
+
+irg_dom_state
+(get_irg_dom_state)(const ir_graph *irg) {
+ return _get_irg_dom_state(irg);
+}
+
+irg_dom_state
+(get_irg_postdom_state)(const ir_graph *irg) {
+ return _get_irg_postdom_state(irg);
+}
+
+void
+(set_irg_doms_inconsistent)(ir_graph *irg) {
+ _set_irg_doms_inconsistent(irg);
+}
+
+irg_loopinfo_state
+(get_irg_loopinfo_state)(const ir_graph *irg) {
+ return _get_irg_loopinfo_state(irg);