diff options
author | Jeff Law <law@redhat.com> | 2011-03-23 11:35:59 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2011-03-23 11:35:59 -0600 |
commit | 0c617be487cd7b2d7597330a52ff3a020dc11076 (patch) | |
tree | 63167faa52777ebde1ca5984d9076b69601f109d /gcc/cfg.c | |
parent | 58da96fef9d3d98154968670f1b15dc5b8e116d9 (diff) | |
download | gcc-0c617be487cd7b2d7597330a52ff3a020dc11076.zip gcc-0c617be487cd7b2d7597330a52ff3a020dc11076.tar.gz gcc-0c617be487cd7b2d7597330a52ff3a020dc11076.tar.bz2 |
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
Diffstat (limited to 'gcc/cfg.c')
-rw-r--r-- | gcc/cfg.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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 |