diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2016-06-07 23:34:27 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2016-06-07 21:34:27 +0000 |
commit | d1fcc2bdef93fa453b326749888275c80e39cefc (patch) | |
tree | a4741a4afa5e4271b8f222101f278886481db7fb /gcc/predict.c | |
parent | 373c00952c0a3cb0224f2259487f6481c3c946e9 (diff) | |
download | gcc-d1fcc2bdef93fa453b326749888275c80e39cefc.zip gcc-d1fcc2bdef93fa453b326749888275c80e39cefc.tar.gz gcc-d1fcc2bdef93fa453b326749888275c80e39cefc.tar.bz2 |
predict.c (predict_iv_comparison): Mention that heuristics is broken.
* predict.c (predict_iv_comparison): Mention that heuristics is broken.
(return_prediction): PRED_CONST_RETURN predict return as not taken.
* predict.def (PRED_CONTINUE): Change hitrate 50->67
(PRED_LOOP_BRANCH): Document predictor as broken.
(PRED_LOOP_EXIT): Change hitrate 91->92.
(PRED_LOOP_EXTRA_EXIT): Change hitrate 91->83.
(PRED_POINTER, PRED_TREE_POINTER): Change hitrate 85->70.
(PRED_OPCODE_POSITIVE): Change hitrate 79->64.
(PRED_OPCODE_NONEQUAL): Change hitrate 91->66.
(PRED_TREE_OPCODE_POSITIVE): Change hitrate 73->64
(PRED_TREE_OPCODE_NONEQUAL): Chnage hitrate 72->66
(PRED_CALL): Chane hitrate 71->67.
(PRED_TREE_EARLY_RETURN): Document issues, change hitrate 61->54.
(PRED_GOTO): Document as unused right now.
(PRED_CONST_RETURN): Change hitrate 67->69
(PRED_NEGATIVE_RETURN): Change hitrate 96->98
(PRED_NULL_RETURN): Change hitrate 91->90.
(PRED_LOOP_IV_COMPARE_GUESS): Change hitrate to 98.
(PRED_FORTRAN_FAIL_ALLOC): Change hitrate to 62; document issues.
(PRED_FORTRAN_SIZE_ZERO): Change hitrate to 99.
* gcc.dg/ipa/inlinehint-4.c: Disable partial inlining.
* gcc.dg/predict-1.c: Update template for new predictor hitrates.
* gcc.dg/predict-3.c: Update template.
* gcc.dg/predict-5.c: Update template.
* gcc.dg/predict-6.c: Update template.
* gcc.dg/predict-9.c: Update template.
* gcc.dg/predict-9.c: Update template.
* gcc.dg/tree-ssa/attr-hotcold-2.c: Update template.
From-SVN: r237185
Diffstat (limited to 'gcc/predict.c')
-rw-r--r-- | gcc/predict.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/predict.c b/gcc/predict.c index 32d4567..6f81b53 100644 --- a/gcc/predict.c +++ b/gcc/predict.c @@ -1357,6 +1357,7 @@ predict_iv_comparison (struct loop *loop, basic_block bb, probability = tem.to_uhwi (); } + /* FIXME: The branch prediction seems broken. It has only 20% hitrate. */ if (!overall_overflow) predict_edge (then_edge, PRED_LOOP_IV_COMPARE, probability); @@ -2159,7 +2160,7 @@ return_prediction (tree val, enum prediction *prediction) if (TREE_CONSTANT (val) && (!integer_zerop (val) && !integer_onep (val))) { - *prediction = TAKEN; + *prediction = NOT_TAKEN; return PRED_CONST_RETURN; } } |