diff options
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r-- | gcc/tree-ssa.c | 7 |
1 files changed, 4 insertions, 3 deletions
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); } |