/* Initialization of uninitialized regs.
- Copyright (C) 2007 Free Software Foundation,
- Inc.
+ Copyright (C) 2007, 2008 Free Software Foundation, Inc.
This file is part of GCC.
FOR_BB_INSNS (bb, insn)
{
unsigned int uid = INSN_UID (insn);
- struct df_ref **use_rec;
+ df_ref *use_rec;
if (!INSN_P (insn))
continue;
for (use_rec = DF_INSN_UID_USES (uid); *use_rec; use_rec++)
{
- struct df_ref *use = *use_rec;
+ df_ref use = *use_rec;
unsigned int regno = DF_REF_REGNO (use);
/* Only do this for the pseudos. */
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",
}
if (optimize == 1)
- df_remove_problem (df_live);
+ {
+ if (dump_file)
+ df_dump (dump_file);
+ df_remove_problem (df_live);
+ }
BITMAP_FREE (already_genned);
}
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 */
0, /* properties_destroyed */
0, /* todo_flags_start */
TODO_dump_func |
- TODO_df_finish, /* todo_flags_finish */
- 0 /* letter */
+ TODO_df_finish /* todo_flags_finish */
+ }
};