aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfg.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2002-08-10 20:00:54 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2002-08-10 18:00:54 +0000
commit77abb5d87daf09198eca038162e3989dadacbae8 (patch)
treec1d707eefa16aa6b48032a0f3ce9f2b018e2b164 /gcc/cfg.c
parent3ebf520442e96379b02dc54f3b20745e65fb83de (diff)
downloadgcc-77abb5d87daf09198eca038162e3989dadacbae8.zip
gcc-77abb5d87daf09198eca038162e3989dadacbae8.tar.gz
gcc-77abb5d87daf09198eca038162e3989dadacbae8.tar.bz2
cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff errors.
* cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff errors. From-SVN: r56184
Diffstat (limited to 'gcc/cfg.c')
-rw-r--r--gcc/cfg.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cfg.c b/gcc/cfg.c
index 33599d3..c6ffdc2 100644
--- a/gcc/cfg.c
+++ b/gcc/cfg.c
@@ -455,6 +455,8 @@ redirect_edge_succ_nodup (e, new_succ)
{
s->flags |= e->flags;
s->probability += e->probability;
+ if (s->probability > REG_BR_PROB_BASE)
+ s->probability = REG_BR_PROB_BASE;
s->count += e->count;
remove_edge (e);
e = s;