@@ -3352,21 +3352,12 @@ static unsigned int
rest_of_handle_sms (void)
{
#ifdef INSN_SCHEDULING
- basic_block bb;
-
/* Collect loop information to be used in SMS. */
- cfg_layout_initialize (0);
sms_schedule ();
/* Update the life information, because we add pseudos. */
max_regno = max_reg_num ();
-
- /* Finalize layout changes. */
- FOR_EACH_BB (bb)
- if (bb->next_bb != EXIT_BLOCK_PTR)
- bb->aux = bb->next_bb;
free_dominance_info (CDI_DOMINATORS);
- cfg_layout_finalize ();
#endif /* INSN_SCHEDULING */
return 0;
}
@@ -1456,6 +1456,7 @@ init_optimization_passes (void)
NEXT_PASS (pass_ud_rtl_dce);
NEXT_PASS (pass_combine);
NEXT_PASS (pass_if_after_combine);
+ NEXT_PASS (pass_sms);
NEXT_PASS (pass_partition_blocks);
NEXT_PASS (pass_regmove);
NEXT_PASS (pass_outof_cfg_layout_mode);
@@ -1465,7 +1466,6 @@ init_optimization_passes (void)
NEXT_PASS (pass_stack_ptr_mod);
NEXT_PASS (pass_mode_switching);
NEXT_PASS (pass_match_asm_constraints);
- NEXT_PASS (pass_sms);
NEXT_PASS (pass_sched);
NEXT_PASS (pass_ira);
NEXT_PASS (pass_postreload);