diff options
author | revitale <revitale@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-17 14:32:24 +0000 |
---|---|---|
committer | revitale <revitale@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-17 14:32:24 +0000 |
commit | 4f7f77aa3639a3f3021c893253e743265c3da383 (patch) | |
tree | 178a2d3b3d6ca230bdeb547cccdce2742154fb11 /gcc/modulo-sched.c | |
parent | 4869c23f5f9a0514f06d1b36387b4769204269e4 (diff) | |
download | gcc-4f7f77aa3639a3f3021c893253e743265c3da383.tar.gz |
New flag to apply SMS when SC equals 1
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172610 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/modulo-sched.c')
-rw-r--r-- | gcc/modulo-sched.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c index 73317444ff7..f37d743e287 100644 --- a/gcc/modulo-sched.c +++ b/gcc/modulo-sched.c @@ -1162,9 +1162,10 @@ sms_schedule (void) 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 + /* The default value of PARAM_SMS_MIN_SC is 2 as stage count of + 1 means that there is no interleaving between iterations thus + we let the scheduling passes do the job in this case. */ + if (stage_count < (unsigned) PARAM_VALUE (PARAM_SMS_MIN_SC) || (count_init && (loop_count <= stage_count)) || (flag_branch_probabilities && (trip_count <= stage_count))) { |