diff options
Diffstat (limited to 'gcc/sched-ebb.c')
| -rw-r--r-- | gcc/sched-ebb.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/sched-ebb.c b/gcc/sched-ebb.c index 06637d75593..e005f74160a 100644 --- a/gcc/sched-ebb.c +++ b/gcc/sched-ebb.c @@ -39,6 +39,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "toplev.h" #include "recog.h" #include "cfglayout.h" +#include "params.h" #include "sched-int.h" #include "target.h" @@ -561,6 +562,13 @@ void schedule_ebbs (FILE *dump_file) { basic_block bb; + int probability_cutoff; + + if (profile_info && flag_branch_probabilities) + probability_cutoff = PARAM_VALUE (TRACER_MIN_BRANCH_PROBABILITY_FEEDBACK); + else + probability_cutoff = PARAM_VALUE (TRACER_MIN_BRANCH_PROBABILITY); + probability_cutoff = REG_BR_PROB_BASE / 100 * probability_cutoff; /* Taking care of this degenerate case makes the rest of this code simpler. */ @@ -592,7 +600,7 @@ schedule_ebbs (FILE *dump_file) break; if (! e) break; - if (e->probability < REG_BR_PROB_BASE / 2) + if (e->probability <= probability_cutoff) break; bb = bb->next_bb; } |

