diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6c323f6d8229dde4007d4dab30ab50a2a997b2e1..81886235bd6ec950513e9088f4abec35cb71cc17 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-03-31 Ayal Zaks <zaks@il.ibm.com> + + * modulo-sched.c (sms_schedule_by_order): Pass the actual + schedulable rows to compute_split_row. + 2009-03-31 Ben Elliston <bje@au.ibm.com> PR target/31635 diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c index 7134bfc0d00c5fe658769b0cdacfc9a4b6df7b4c..bd49f9f9b6a25ebd00b59b94aeb44774ade76867 100644 --- a/gcc/modulo-sched.c +++ b/gcc/modulo-sched.c @@ -1832,11 +1832,14 @@ sms_schedule_by_order (ddg_ptr g, int mii, int maxii, int *nodes_order) } num_splits++; + /* The scheduling window is exclusive of 'end' + whereas compute_split_window() expects an inclusive, + ordered range. */ if (step == 1) - split_row = compute_split_row (sched_nodes, start, end, + split_row = compute_split_row (sched_nodes, start, end - 1, ps->ii, u_node); else - split_row = compute_split_row (sched_nodes, end, start, + split_row = compute_split_row (sched_nodes, end + 1, start, ps->ii, u_node); ps_insert_empty_row (ps, split_row, sched_nodes);