predict.def: Set outcomes according to more recent results.
* predict.def: Set outcomes according to more recent results. (PRED_LOOP_CONDITION, PRED_LOOP_PRECONDITIONING, PRED_LOOP_HEADER): Remove dead predictors. * predict.c (return_prediction): Fix pasto. From-SVN: r122347
This commit is contained in:
parent
4898239452
commit
75b6bb627c
@ -1,3 +1,10 @@
|
||||
2007-02-26 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* predict.def: Set outcomes according to more recent results.
|
||||
(PRED_LOOP_CONDITION, PRED_LOOP_PRECONDITIONING, PRED_LOOP_HEADER):
|
||||
Remove dead predictors.
|
||||
* predict.c (return_prediction): Fix pasto.
|
||||
|
||||
2007-02-27 Bernd Schmidt <bernd.schmidt@analog.com>
|
||||
|
||||
* loop-iv.c (simplify_using_initial_values): Fix oversight in previous
|
||||
|
@ -1152,7 +1152,7 @@ return_prediction (tree val, enum prediction *prediction)
|
||||
&& (!integer_zerop (val) && !integer_onep (val)))
|
||||
{
|
||||
*prediction = TAKEN;
|
||||
return PRED_NEGATIVE_RETURN;
|
||||
return PRED_CONST_RETURN;
|
||||
}
|
||||
}
|
||||
return PRED_NO_PREDICTION;
|
||||
|
@ -74,41 +74,30 @@ DEF_PREDICTOR (PRED_NORETURN, "noreturn call", HITRATE (99),
|
||||
PRED_FLAG_FIRST_MATCH)
|
||||
|
||||
/* Loopback edge is taken. */
|
||||
DEF_PREDICTOR (PRED_LOOP_BRANCH, "loop branch", HITRATE (89),
|
||||
DEF_PREDICTOR (PRED_LOOP_BRANCH, "loop branch", HITRATE (86),
|
||||
PRED_FLAG_FIRST_MATCH)
|
||||
|
||||
/* Edge causing loop to terminate is probably not taken. */
|
||||
DEF_PREDICTOR (PRED_LOOP_EXIT, "loop exit", HITRATE (90),
|
||||
DEF_PREDICTOR (PRED_LOOP_EXIT, "loop exit", HITRATE (91),
|
||||
PRED_FLAG_FIRST_MATCH)
|
||||
|
||||
/* Condition emitted by preconditiong code to ensure that variable
|
||||
setting number of iterations is greater than initial value of iterator. */
|
||||
DEF_PREDICTOR (PRED_LOOP_CONDITION, "loop condition", PROB_VERY_LIKELY, 0)
|
||||
|
||||
/* Preconditioning makes linear list of branches. */
|
||||
DEF_PREDICTOR (PRED_LOOP_PRECONDITIONING, "loop preconditioning", PROB_VERY_LIKELY, 0)
|
||||
|
||||
/* Copied condition for the first iteration of loop is probably true. */
|
||||
DEF_PREDICTOR (PRED_LOOP_HEADER, "loop header", HITRATE (64), 0)
|
||||
|
||||
/* Pointers are usually not NULL. */
|
||||
DEF_PREDICTOR (PRED_POINTER, "pointer", HITRATE (81), 0)
|
||||
DEF_PREDICTOR (PRED_TREE_POINTER, "pointer (on trees)", HITRATE (81), 0)
|
||||
DEF_PREDICTOR (PRED_POINTER, "pointer", HITRATE (85), 0)
|
||||
DEF_PREDICTOR (PRED_TREE_POINTER, "pointer (on trees)", HITRATE (85), 0)
|
||||
|
||||
/* NE is probable, EQ not etc... */
|
||||
DEF_PREDICTOR (PRED_OPCODE_POSITIVE, "opcode values positive", HITRATE (79), 0)
|
||||
DEF_PREDICTOR (PRED_OPCODE_NONEQUAL, "opcode values nonequal", HITRATE (71), 0)
|
||||
DEF_PREDICTOR (PRED_FPOPCODE, "fp_opcode", HITRATE (90), 0)
|
||||
DEF_PREDICTOR (PRED_TREE_OPCODE_POSITIVE, "opcode values positive (on trees)", HITRATE (79), 0)
|
||||
DEF_PREDICTOR (PRED_TREE_OPCODE_NONEQUAL, "opcode values nonequal (on trees)", HITRATE (71), 0)
|
||||
DEF_PREDICTOR (PRED_TREE_OPCODE_POSITIVE, "opcode values positive (on trees)", HITRATE (70), 0)
|
||||
DEF_PREDICTOR (PRED_TREE_OPCODE_NONEQUAL, "opcode values nonequal (on trees)", HITRATE (69), 0)
|
||||
DEF_PREDICTOR (PRED_TREE_FPOPCODE, "fp_opcode (on trees)", HITRATE (90), 0)
|
||||
|
||||
/* Branch guarding call is probably taken. */
|
||||
DEF_PREDICTOR (PRED_CALL, "call", HITRATE (70), 0)
|
||||
DEF_PREDICTOR (PRED_CALL, "call", HITRATE (69), 0)
|
||||
|
||||
/* Branch causing function to terminate is probably not taken. */
|
||||
DEF_PREDICTOR (PRED_EARLY_RETURN, "early return", HITRATE (67), 0)
|
||||
DEF_PREDICTOR (PRED_TREE_EARLY_RETURN, "early return (on trees)", HITRATE (67), 0)
|
||||
DEF_PREDICTOR (PRED_TREE_EARLY_RETURN, "early return (on trees)", HITRATE (45), 0)
|
||||
|
||||
/* Branch containing goto is probably not taken. */
|
||||
DEF_PREDICTOR (PRED_GOTO, "goto", HITRATE (70), 0)
|
||||
@ -117,10 +106,10 @@ DEF_PREDICTOR (PRED_GOTO, "goto", HITRATE (70), 0)
|
||||
DEF_PREDICTOR (PRED_CONST_RETURN, "const return", HITRATE (95), 0)
|
||||
|
||||
/* Branch ending with return negative constant is probably not taken. */
|
||||
DEF_PREDICTOR (PRED_NEGATIVE_RETURN, "negative return", HITRATE (96), 0)
|
||||
DEF_PREDICTOR (PRED_NEGATIVE_RETURN, "negative return", HITRATE (77), 0)
|
||||
|
||||
/* Branch ending with return; is probably not taken */
|
||||
DEF_PREDICTOR (PRED_NULL_RETURN, "null return", HITRATE (90), 0)
|
||||
DEF_PREDICTOR (PRED_NULL_RETURN, "null return", HITRATE (96), 0)
|
||||
|
||||
/* Branches to a mudflap bounds check are extremely unlikely. */
|
||||
DEF_PREDICTOR (PRED_MUDFLAP, "mudflap check", HITRATE (99), 0)
|
||||
DEF_PREDICTOR (PRED_MUDFLAP, "mudflap check", PROB_VERY_LIKELY, 0)
|
||||
|
Loading…
Reference in New Issue
Block a user