+}
+
+/* move Proj nodes into the same block as its predecessors */
+void normalize_proj_nodes(ir_graph *irg) {
+ irg_walk_graph(irg, NULL, normalize_proj_walker, NULL);
+ set_irg_outs_inconsistent(irg);
+}
+
+/* set a description for local value n */
+void set_irg_loc_description(ir_graph *irg, int n, void *description) {
+ assert(0 <= n && n < irg->n_loc);
+
+ if (! irg->loc_descriptions)
+ irg->loc_descriptions = xcalloc(sizeof(*irg->loc_descriptions), irg->n_loc);
+
+ irg->loc_descriptions[n] = description;
+}
+
+/* get the description for local value n */
+void *get_irg_loc_description(ir_graph *irg, int n) {
+ assert(0 <= n && n < irg->n_loc);
+ return irg->loc_descriptions ? irg->loc_descriptions[n] : NULL;
+}
+
+/* Returns a estimated node count of the irg. */
+unsigned (get_irg_estimated_node_cnt)(const ir_graph *irg) {
+ return _get_irg_estimated_node_cnt(irg);
+}
+
+/* Returns the last irn index for this graph. */
+unsigned get_irg_last_idx(const ir_graph *irg) {
+ return irg->last_node_idx;
+}
+
+/* register additional space in an IR graph */
+size_t register_additional_graph_data(size_t size)
+{
+ assert(!forbid_new_data && "Too late to register additional node data");
+
+ if (forbid_new_data)
+ return 0;
+
+ return additional_graph_data_size += size;