Hello,
The attached patch contains minor fixes.
Currently testing and bootstrap on ppc64-redhat-linux enabling SMS on
loops with SC 1.
OK for mainline once testing completes?
Thanks,
Revital
Changelog
* modulo-sched.c (optimize_sc): Call remove_node_from_ps outside
of gcc_assert.
(sms_schedule): Add print info.
Index: modulo-sched.c
===================================================================
--- modulo-sched.c (revision 178632)
+++ modulo-sched.c (working copy)
@@ -773,7 +773,7 @@ optimize_sc (partial_schedule_ptr ps, dd
if (get_sched_window (ps, g->closing_branch, sched_nodes, ii, &start,
&step, &end) == 0)
{
- bool success;
+ bool success, remove_branch_p;
ps_insn_ptr next_ps_i;
int branch_cycle = SCHED_TIME (g->closing_branch);
int row = SMODULO (branch_cycle, ps->ii);
@@ -835,7 +835,8 @@ optimize_sc (partial_schedule_ptr ps, dd
break;
gcc_assert (next_ps_i);
- gcc_assert (remove_node_from_ps (ps, next_ps_i));
+ remove_branch_p = remove_node_from_ps (ps, next_ps_i);
+ gcc_assert (remove_branch_p);
success =
try_scheduling_node_in_cycle (ps, g->closing_branch,
g->closing_branch->cuid, c,
@@ -1485,8 +1486,8 @@ sms_schedule (void)
if (dump_file)
{
fprintf (dump_file,
- "SMS succeeded %d %d (with ii, sc)\n", ps->ii,
- stage_count);
+ "%s:%d SMS succeeded %d %d (with ii, sc)\n",
+ insn_file (tail), insn_line (tail), ps->ii, stage_count);
print_partial_schedule (ps, dump_file);
}