aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPete Steinmetz <steinmtz@us.ibm.com>2005-08-24 20:28:07 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2005-08-24 16:28:07 -0400
commit6f48c21a63d2e0564b51ff7260b63cf1ccab24e4 (patch)
treeec6fd4aa5498dddaa49fc43b1050d058cd4624c3 /gcc
parentfe58e07668767de1adc8cab509649a485607d127 (diff)
downloadgcc-6f48c21a63d2e0564b51ff7260b63cf1ccab24e4.zip
gcc-6f48c21a63d2e0564b51ff7260b63cf1ccab24e4.tar.gz
gcc-6f48c21a63d2e0564b51ff7260b63cf1ccab24e4.tar.bz2
params.def (PARAM_MIN_SPEC_PROB): New.
2005-08-24 Pete Steinmetz <steinmtz@us.ibm.com> * params.def (PARAM_MIN_SPEC_PROB): New. * sched-rgn.c (MIN_PROBABILITY): Delete. (compute_trg_info): Convert to PARAM_VALUE. * doc/invoke.texi (param): Document min-spec-prob. From-SVN: r103450
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/doc/invoke.texi4
-rw-r--r--gcc/params.def5
-rw-r--r--gcc/sched-rgn.c6
4 files changed, 17 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 26ea0de..1629304 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2005-08-24 Pete Steinmetz <steinmtz@us.ibm.com>
+
+ * params.def (PARAM_MIN_SPEC_PROB): New.
+ * sched-rgn.c (MIN_PROBABILITY): Delete.
+ (compute_trg_info): Convert to PARAM_VALUE.
+ * doc/invoke.texi (param): Document min-spec-prob.
+
2005-08-24 Fariborz Jahanian <fjahanian@apple.com>
* config/darwin.h: define __PIC__
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 444c3d9..d31e77b 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -6005,6 +6005,10 @@ interblock scheduling. The default value is 10.
The maximum number of insns in a region to be considered for
interblock scheduling. The default value is 100.
+@item min-sched-prob
+The minimum probability of reaching a source block for interblock
+speculative scheduling. The default value is 40.
+
@item max-last-value-rtl
The maximum size measured as number of RTLs that can be recorded in an expression
diff --git a/gcc/params.def b/gcc/params.def
index 4fc74b5..a777efa 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -451,6 +451,11 @@ DEFPARAM(PARAM_MAX_SCHED_REGION_INSNS,
"The maximum number of insns in a region to be considered for interblock scheduling",
100, 0, 0)
+DEFPARAM(PARAM_MIN_SPEC_PROB,
+ "min-spec-prob",
+ "The minimum probability of reaching a source block for interblock speculative scheduling",
+ 40, 0, 0)
+
DEFPARAM(PARAM_MAX_LAST_VALUE_RTL,
"max-last-value-rtl",
"The maximum number of RTL nodes that can be recorded as combiner's last value",
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c
index ef18282..69bd359 100644
--- a/gcc/sched-rgn.c
+++ b/gcc/sched-rgn.c
@@ -251,10 +251,6 @@ static void compute_dom_prob_ps (int);
#define IS_SPECULATIVE_INSN(INSN) (IS_SPECULATIVE (BLOCK_TO_BB (BLOCK_NUM (INSN))))
#define INSN_BB(INSN) (BLOCK_TO_BB (BLOCK_NUM (INSN)))
-/* Parameters affecting the decision of rank_for_schedule().
- ??? Nope. But MIN_PROBABILITY is used in compute_trg_info. */
-#define MIN_PROBABILITY 40
-
/* Speculative scheduling functions. */
static int check_live_1 (int, rtx);
static void update_live_1 (int, rtx);
@@ -1013,7 +1009,7 @@ compute_trg_info (int trg)
if (sp->is_valid)
{
sp->src_prob = GET_SRC_PROB (i, trg);
- sp->is_valid = (sp->src_prob >= MIN_PROBABILITY);
+ sp->is_valid = (sp->src_prob >= PARAM_VALUE (PARAM_MIN_SPEC_PROB));
}
if (sp->is_valid)