From 0c617be487cd7b2d7597330a52ff3a020dc11076 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Wed, 23 Mar 2011 11:35:59 -0600 Subject: cfg.c (redirect_edge_succ_nodup): Duplicate the varm map before removing the edge. * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map before removing the edge. * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after it may have been freed by redirect_branch_edge or redirect_edge_succ_nodup. From-SVN: r171356 --- gcc/cfg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/cfg.c') diff --git a/gcc/cfg.c b/gcc/cfg.c index c8ef799..5b1dc26 100644 --- a/gcc/cfg.c +++ b/gcc/cfg.c @@ -402,8 +402,8 @@ redirect_edge_succ_nodup (edge e, basic_block new_succ) if (s->probability > REG_BR_PROB_BASE) s->probability = REG_BR_PROB_BASE; s->count += e->count; - remove_edge (e); redirect_edge_var_map_dup (s, e); + remove_edge (e); e = s; } else -- cgit v1.1