diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/predict.def | 9 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index abbfb6b..9520012 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz> + + * predict.def (noreturn, loop branch, loop exit): Mark as first + match heuristics. + Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz> * combine.c (try_combine): Avoid barrier after noop jumps. diff --git a/gcc/predict.def b/gcc/predict.def index 577f035..28b0bbf 100644 --- a/gcc/predict.def +++ b/gcc/predict.def @@ -58,13 +58,16 @@ DEF_PREDICTOR (PRED_BUILTIN_EXPECT, "__builtin_expect", PROB_VERY_LIKELY, PRED_FLAG_FIRST_MATCH) /* Branch to basic block containing call marked by noreturn attribute. */ -DEF_PREDICTOR (PRED_NORETURN, "noreturn call", PROB_ALWAYS, 0) +DEF_PREDICTOR (PRED_NORETURN, "noreturn call", PROB_ALWAYS, + PRED_FLAG_FIRST_MATCH) /* Loopback edge is taken. */ -DEF_PREDICTOR (PRED_LOOP_BRANCH, "loop branch", HITRATE (88), 0) +DEF_PREDICTOR (PRED_LOOP_BRANCH, "loop branch", HITRATE (88), + PRED_FLAG_FIRST_MATCH) /* Edge causing loop to terminate is probably not taken. */ -DEF_PREDICTOR (PRED_LOOP_EXIT, "loop exit", HITRATE (80), 0) +DEF_PREDICTOR (PRED_LOOP_EXIT, "loop exit", HITRATE (80), + PRED_FLAG_FIRST_MATCH) /* Condition emitted by preconditiong code to ensure that variable setting number of iterations is greater than initial value of iterator. */ |
