diff options
author | Jan Hubicka <jh@suse.cz> | 2005-06-06 14:31:35 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2005-06-06 12:31:35 +0000 |
commit | a00d11f077e0577ef4c8f6d08f2c8d52d8ec15ca (patch) | |
tree | b33345b9d09639a34fdfad1df1f1c467319d43a7 /gcc/tree-mudflap.c | |
parent | bbf59fad2d3953258c0a0c13516f8850b9e26c99 (diff) | |
download | gcc-a00d11f077e0577ef4c8f6d08f2c8d52d8ec15ca.zip gcc-a00d11f077e0577ef4c8f6d08f2c8d52d8ec15ca.tar.gz gcc-a00d11f077e0577ef4c8f6d08f2c8d52d8ec15ca.tar.bz2 |
predict.c (tree_predict_edge): Don't drop useless predictions; check that it is not called too late in the game.
* predict.c (tree_predict_edge): Don't drop useless predictions;
check that it is not called too late in the game.
(gate_estimate_probability): New gate.
(pass_profile): Gate.
* tree-mudflap.c (mf_build_check_statement_for): Do not drop
predictions; update CFG instead.
* cfgrtl.c (rtl_verify_flow_info): Check that predcitions are consumed.
From-SVN: r100662
Diffstat (limited to 'gcc/tree-mudflap.c')
-rw-r--r-- | gcc/tree-mudflap.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/tree-mudflap.c b/gcc/tree-mudflap.c index f7ab16e..a6d87cc 100644 --- a/gcc/tree-mudflap.c +++ b/gcc/tree-mudflap.c @@ -528,14 +528,11 @@ mf_build_check_statement_for (tree base, tree limit, make_edge (cond_bb, then_bb, EDGE_TRUE_VALUE); make_single_succ_edge (then_bb, join_bb, EDGE_FALLTHRU); - /* We expect that the conditional jump we will construct will not - be taken very often as it basically is an exception condition. */ - predict_edge_def (single_pred_edge (then_bb), PRED_MUDFLAP, NOT_TAKEN); - /* Mark the pseudo-fallthrough edge from cond_bb to join_bb. */ e = find_edge (cond_bb, join_bb); e->flags = EDGE_FALSE_VALUE; - predict_edge_def (e, PRED_MUDFLAP, TAKEN); + e->count = cond_bb->count; + e->probability = REG_BR_PROB_BASE; /* Update dominance info. Note that bb_join's data was updated by split_block. */ |