summaryrefslogtreecommitdiffstats
path: root/gcc/predict.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-18 15:35:47 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-18 15:35:47 +0000
commitf6664feec514b2e3b3f36fb59c9b1b14dc5a52fc (patch)
tree0803743d2349ea46ce205c05df7cae76a3374b1f /gcc/predict.c
parent55af5e57a6fa3e4016d3723e03c3a1926ea9e9ee (diff)
downloadppe42-gcc-f6664feec514b2e3b3f36fb59c9b1b14dc5a52fc.tar.gz
ppe42-gcc-f6664feec514b2e3b3f36fb59c9b1b14dc5a52fc.zip
* unroll.c: Include predict.h.
(unroll_loop): Drop prediction notes on preconditioning. * predict.def (PRED_LOOP_PRECONDITIONG, PRED_LOOP_CONDITION): New; add comments on the others. * Makefile.in: (unroll.o): Add dependancy on predict.h. * loop.c (strength_reduce): Fix branch prediction. * stmt.c (emit_case_nodes): Optimize test whether index is in given interval. * predict.c (estimate_probability): Do not bail out early when note is present. (combine_predictions_for_insn): Fix note removal code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43441 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/predict.c')
-rw-r--r--gcc/predict.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/predict.c b/gcc/predict.c
index 21c7149070f..38818cbc079 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -208,7 +208,6 @@ combine_predictions_for_insn (insn, bb)
probability combination techniques. */
while (*pnote)
{
- rtx *next_pnote = &XEXP (*pnote, 1);
if (REG_NOTE_KIND (*pnote) == REG_BR_PRED)
{
int predictor = INTVAL (XEXP (XEXP (*pnote, 0), 0));
@@ -219,7 +218,8 @@ combine_predictions_for_insn (insn, bb)
best_probability = probability, best_predictor = predictor;
*pnote = XEXP (*pnote, 1);
}
- pnote = next_pnote;
+ else
+ pnote = &XEXP (*pnote, 1);
}
dump_prediction (PRED_FIRST_MATCH, best_probability, bb);
if (!prob_note)
@@ -313,9 +313,6 @@ estimate_probability (loops_info)
|| ! any_condjump_p (last_insn))
continue;
- if (find_reg_note (last_insn, REG_BR_PROB, 0))
- continue;
-
for (e = bb->succ; e; e = e->succ_next)
{
/* Predict edges to blocks that return immediately to be
OpenPOWER on IntegriCloud