Commit 3809e990 by Jan Hubicka Committed by Jan Hubicka

basic-block.h (remove_predictions_associated_with_edge): Declare.


	* basic-block.h (remove_predictions_associated_with_edge): Declare.
	* cfg.c (remove_edge): Use it.
	* predict.c (remove_predictions_associated_with_edge): New function.

From-SVN: r100551
parent 7c9ac5c0
2005-06-03 Jan Hubicka <jh@suse.cz>
* basic-block.h (remove_predictions_associated_with_edge): Declare.
* cfg.c (remove_edge): Use it.
* predict.c (remove_predictions_associated_with_edge): New function.
2005-06-03 Pat Haugen <pthaugen@us.ibm.com>
* config/rs6000/rs6000.c (rs6000_conditional_register_usage):
......
......@@ -869,6 +869,7 @@ extern void tree_predict_edge (edge, enum br_predictor, int);
extern void rtl_predict_edge (edge, enum br_predictor, int);
extern void predict_edge_def (edge, enum br_predictor, enum prediction);
extern void guess_outgoing_edge_probabilities (basic_block);
extern void remove_predictions_associated_with_edge (edge);
/* In flow.c */
extern void init_flow (void);
......
......@@ -349,6 +349,7 @@ make_single_succ_edge (basic_block src, basic_block dest, int flags)
void
remove_edge (edge e)
{
remove_predictions_associated_with_edge (e);
execute_on_shrinking_pred (e);
disconnect_src (e);
......
......@@ -240,6 +240,24 @@ tree_predict_edge (edge e, enum br_predictor predictor, int probability)
i->edge = e;
}
/* Remove all predictions on given basic block that are attached
to edge E. */
void
remove_predictions_associated_with_edge (edge e)
{
if (e->src->predictions)
{
struct edge_prediction **prediction = &e->src->predictions;
while (*prediction)
{
if ((*prediction)->edge == e)
*prediction = (*prediction)->next;
else
prediction = &((*prediction)->next);
}
}
}
/* Return true when we can store prediction on insn INSN.
At the moment we represent predictions only on conditional
jumps, not at computed jump or other complicated cases. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment