summaryrefslogtreecommitdiff
path: root/gcc/modulo-sched.c
diff options
context:
space:
mode:
authorrevitale <revitale@138bc75d-0d04-0410-961f-82ee72b054a4>2011-04-17 14:32:24 +0000
committerrevitale <revitale@138bc75d-0d04-0410-961f-82ee72b054a4>2011-04-17 14:32:24 +0000
commit4f7f77aa3639a3f3021c893253e743265c3da383 (patch)
tree178a2d3b3d6ca230bdeb547cccdce2742154fb11 /gcc/modulo-sched.c
parent4869c23f5f9a0514f06d1b36387b4769204269e4 (diff)
downloadgcc-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.c7
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)))
{