diff options
Diffstat (limited to 'gcc/modulo-sched.c')
-rw-r--r-- | gcc/modulo-sched.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c index dbe77d9..5176880 100644 --- a/gcc/modulo-sched.c +++ b/gcc/modulo-sched.c @@ -1157,12 +1157,14 @@ sms_schedule (void) ps = sms_schedule_by_order (g, mii, maxii, node_order); - if (ps) + if (ps){ stage_count = PS_STAGE_COUNT (ps); + gcc_assert(stage_count >= 1); + } /* Stage count of 1 means that there is no interleaving between iterations, let the scheduling passes do the job. */ - if (stage_count < 1 + if (stage_count <= 1 || (count_init && (loop_count <= stage_count)) || (flag_branch_probabilities && (trip_count <= stage_count))) { |