From: Chung-Lin Tang Date: Fri, 17 Jun 2022 14:17:47 +0000 (+0800) Subject: middle-end/103851 - ensure SSA names are released during OMP lowering X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=efeaf0714cc42f92817ba83a264c100311b9adb9;p=thirdparty%2Fgcc.git middle-end/103851 - ensure SSA names are released during OMP lowering This makes sure to release moved & remapped SSA names during OMP outlining which happens before going into SSA but with SSA names created by gimplification around. 2022-01-03 Richard Biener PR middle-end/103851 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names. * g++.dg/gomp/pr103851.C: New testcase. (cherry picked from commit 4911609fbe47d3e4d2765cd67031a7e0ee9f5af0) --- diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 82ca96a746c3..63c03f120aa1 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -7914,18 +7914,14 @@ move_sese_region_to_fn (struct function *dest_cfun, basic_block entry_bb, if (eh_map) delete eh_map; - if (gimple_in_ssa_p (cfun)) - { - /* We need to release ssa-names in a defined order, so first find them, - and then iterate in ascending version order. */ - bitmap release_names = BITMAP_ALLOC (NULL); - vars_map.traverse (release_names); - bitmap_iterator bi; - unsigned i; - EXECUTE_IF_SET_IN_BITMAP (release_names, 0, i, bi) - release_ssa_name (ssa_name (i)); - BITMAP_FREE (release_names); - } + /* We need to release ssa-names in a defined order, so first find them, + and then iterate in ascending version order. */ + bitmap release_names = BITMAP_ALLOC (NULL); + vars_map.traverse (release_names); + bitmap_iterator bi; + EXECUTE_IF_SET_IN_BITMAP (release_names, 0, i, bi) + release_ssa_name (ssa_name (i)); + BITMAP_FREE (release_names); /* Rewire the entry and exit blocks. The successor to the entry block turns into the successor of DEST_FN's ENTRY_BLOCK_PTR in