modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages.
authorRichard Sandiford <richard.sandiford@linaro.org>
Mon, 10 Oct 2011 11:42:55 +0000 (11:42 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 10 Oct 2011 11:42:55 +0000 (11:42 +0000)
commit752cdc4e29c2049a0f4c9ec1bb9522b7c323aa14
treed08c11dd8e2aa1b0cc7db6e3dc9312b780d7f84b
parent1287d8ea2c76801a0e29f4afbb0cb9449343696c
modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages.

gcc/
* modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages.
(SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES): Delete.
(node_sched_params): Remove first_reg_move and nreg_moves.
(ps_num_consecutive_stages, extend_node_sched_params): New functions.
(update_node_sched_params): Move up file.
(print_node_sched_params): Print the stage.  Don't dump info related
to first_reg_move and nreg_moves.
(set_columns_for_row): New function.
(set_columns_for_ps): Move up file and use set_columns_for_row.
(schedule_reg_move): New function.
(schedule_reg_moves): Call extend_node_sched_params and
schedule_reg_move.  Extend size of uses bitmap.  Initialize
num_consecutive_stages.  Return false if a move could not be
scheduled.
(apply_reg_moves): Don't emit moves here.
(permute_partial_schedule): Handle register moves.
(duplicate_insns_of_cycles): Remove for_prolog.  Emit moves according
to the same stage-count test as ddg nodes.
(generate_prolog_epilog): Update calls accordingly.
(sms_schedule): Allow move-scheduling to add a new first stage.

From-SVN: r179744
gcc/ChangeLog
gcc/modulo-sched.c