OSDN Git Service

2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
[pf3gnuchains/gcc-fork.git] / gcc / init-regs.c
index 118957f..83abe71 100644 (file)
@@ -106,7 +106,7 @@ initialize_uninitialized_regs (void)
                  emit_move_insn (reg, CONST0_RTX (GET_MODE (reg)));
                  move_insn = get_insns ();
                  end_sequence ();
-                 add_insn_before (move_insn, insn, bb);
+                 emit_insn_before (move_insn, insn);
                  if (dump_file)
                    fprintf (dump_file, 
                             "adding initialization in %s of reg %d at in block %d for insn %d.\n", 
@@ -117,7 +117,11 @@ initialize_uninitialized_regs (void)
     }
 
   if (optimize == 1)
-    df_remove_problem (df_live);
+    {
+      if (dump_file) 
+       df_dump (dump_file);
+      df_remove_problem (df_live);
+    }
 
   BITMAP_FREE (already_genned);
 }
@@ -135,8 +139,10 @@ rest_of_handle_initialize_regs (void)
   return 0;
 }
 
-struct tree_opt_pass pass_initialize_regs =
+struct rtl_opt_pass pass_initialize_regs =
 {
+ {
+  RTL_PASS,
   "init-regs",                          /* name */
   gate_initialize_regs,                 /* gate */
   rest_of_handle_initialize_regs,       /* execute */
@@ -149,6 +155,6 @@ struct tree_opt_pass pass_initialize_regs =
   0,                                    /* properties_destroyed */
   0,                                    /* todo_flags_start */
   TODO_dump_func |
-  TODO_df_finish,                       /* todo_flags_finish */
-  0                                     /* letter */
+  TODO_df_finish                        /* todo_flags_finish */
+ }
 };