From: Bingfeng Mei Date: Thu, 16 Jul 2009 16:20:28 +0000 (+0000) Subject: modulo-sched.c (sms_schedule): stage_count <= 1 as correct comparison to skip unprofi... X-Git-Tag: releases/gcc-4.5.0~4544 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=db87b56d201119dba435f0ad631561ece1bd8fdc;p=thirdparty%2Fgcc.git modulo-sched.c (sms_schedule): stage_count <= 1 as correct comparison to skip unprofitable schedule 2009-07-16 Bingfeng Mei * modulo-sched.c (sms_schedule): stage_count <= 1 as correct comparison to skip unprofitable schedule From-SVN: r149712 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6612ad455713..ba80a32fd4b0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-07-16 Bingfeng Mei + + * modulo-sched.c (sms_schedule): stage_count <= 1 as correct comparison + to skip unprofitable schedule + 2009-07-16 Simon Baldwin * gcc.c (option_map): New flag -no-canonical-prefixes. diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c index dbe77d9c54cb..5176880a0162 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))) {