typo fixed
[libfirm] / ir / ir / irgraph.c
index 18cebb5..f845476 100644 (file)
@@ -259,8 +259,8 @@ ir_graph *new_r_ir_graph(ir_entity *ent, int n_loc) {
 
        /* Proj results of start node */
        projX                   = new_Proj(start, mode_X, pn_Start_X_initial_exec);
+       set_irg_initial_exec    (res, projX);
        set_irg_frame           (res, new_Proj(start, mode_P_data, pn_Start_P_frame_base));
-       set_irg_globals         (res, new_Proj(start, mode_P_data, pn_Start_P_globals));
        set_irg_tls             (res, new_Proj(start, mode_P_data, pn_Start_P_tls));
        set_irg_args            (res, new_Proj(start, mode_T,      pn_Start_T_args));
        set_irg_value_param_base(res, new_Proj(start, mode_P_data, pn_Start_P_value_arg_base));
@@ -382,10 +382,9 @@ ir_graph *new_const_code_irg(void) {
  * @param env  The copied graph.
  */
 static void copy_all_nodes(ir_node *n, void *env) {
-       ir_graph *irg = current_ir_graph;
+       ir_graph *irg = env;
        ir_op    *op  = get_irn_op(n);
        ir_node  *nn;
-       (void) env;
 
        nn = new_ir_node(get_irn_dbg_info(n),
                         irg,
@@ -530,6 +529,8 @@ ir_graph *create_irg_copy(ir_graph *irg) {
 void free_ir_graph(ir_graph *irg) {
        assert(is_ir_graph(irg));
 
+       edges_deactivate(irg);
+
        hook_free_graph(irg);
        if (irg->outs_state != outs_none)
                free_irg_outs(irg);
@@ -643,23 +644,23 @@ void
 }
 
 ir_node *
-(get_irg_frame)(const ir_graph *irg) {
-       return _get_irg_frame(irg);
+(get_irg_initial_exec)(const ir_graph *irg) {
+       return _get_irg_initial_exec(irg);
 }
 
 void
-(set_irg_frame)(ir_graph *irg, ir_node *node) {
-       _set_irg_frame(irg, node);
+(set_irg_initial_exec)(ir_graph *irg, ir_node *node) {
+       _set_irg_initial_exec(irg, node);
 }
 
 ir_node *
-(get_irg_globals)(const ir_graph *irg) {
-  return _get_irg_globals(irg);
+(get_irg_frame)(const ir_graph *irg) {
+       return _get_irg_frame(irg);
 }
 
 void
-(set_irg_globals)(ir_graph *irg, ir_node *node) {
-       _set_irg_globals(irg, node);
+(set_irg_frame)(ir_graph *irg, ir_node *node) {
+       _set_irg_frame(irg, node);
 }
 
 ir_node *
@@ -1085,7 +1086,21 @@ void clear_using_irn_link(ir_graph *irg) {
 int using_irn_link(const ir_graph *irg) {
        return irg->using_irn_link;
 }
-#endif
+
+void set_using_block_mark(ir_graph *irg) {
+       assert(irg->using_block_mark == 0);
+       irg->using_block_mark = 1;
+}
+
+void clear_using_block_mark(ir_graph *irg) {
+       assert(irg->using_block_mark == 1);
+       irg->using_block_mark = 0;
+}
+
+int using_block_mark(const ir_graph *irg) {
+       return irg->using_block_mark;
+}
+#endif /* NDEBUG */
 
 /* Returns a estimated node count of the irg. */
 unsigned (get_irg_estimated_node_cnt)(const ir_graph *irg) {