aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBingfeng Mei <bmei@broadcom.com>2009-07-16 16:20:28 +0000
committerBingfeng Mei <meibf@gcc.gnu.org>2009-07-16 16:20:28 +0000
commitdb87b56d201119dba435f0ad631561ece1bd8fdc (patch)
tree72392bc1ceae5611521ef2fc72f7e669c97c0668 /gcc
parenta4452ba2e3697452f567c9befd5b20de20870cee (diff)
downloadgcc-db87b56d201119dba435f0ad631561ece1bd8fdc.zip
gcc-db87b56d201119dba435f0ad631561ece1bd8fdc.tar.gz
gcc-db87b56d201119dba435f0ad631561ece1bd8fdc.tar.bz2
modulo-sched.c (sms_schedule): stage_count <= 1 as correct comparison to skip unprofitable schedule
2009-07-16 Bingfeng Mei <bmei@broadcom.com> * modulo-sched.c (sms_schedule): stage_count <= 1 as correct comparison to skip unprofitable schedule From-SVN: r149712
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/modulo-sched.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6612ad4..ba80a32 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-16 Bingfeng Mei <bmei@broadcom.com>
+
+ * modulo-sched.c (sms_schedule): stage_count <= 1 as correct comparison
+ to skip unprofitable schedule
+
2009-07-16 Simon Baldwin <simonb@google.com>
* gcc.c (option_map): New flag -no-canonical-prefixes.
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)))
{