diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-ssa.c | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f199fed..17a0f2d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-08-05 Trevor Saunders <tsaunders@mozilla.com> + + * tree-ssa.c (redirect_edge_var_map_dup): insert newe before + getting olde. + 2014-08-05 Richard Biener <rguenther@suse.de> PR rtl-optimization/61672 diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index 217b9fc..e684296 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -106,11 +106,12 @@ redirect_edge_var_map_dup (edge newe, edge olde) if (!edge_var_maps) return; - auto_vec<edge_var_map> *head = edge_var_maps->get (olde); - if (!head) + auto_vec<edge_var_map> *new_head = &edge_var_maps->get_or_insert (newe); + auto_vec<edge_var_map> *old_head = edge_var_maps->get (olde); + if (!old_head) return; - edge_var_maps->get_or_insert (newe).safe_splice (*head); + new_head->safe_splice (*old_head); } |