From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1709) id 5D8943850430; Fri, 17 Jun 2022 14:25:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5D8943850430 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Chung-Lin Tang To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/omp/gcc-11] middle-end/103851 - ensure SSA names are released during OMP lowering X-Act-Checkin: gcc X-Git-Author: Chung-Lin Tang X-Git-Refname: refs/heads/devel/omp/gcc-11 X-Git-Oldrev: 167cc9de1f85aa6a0121292dc5b27b799490dd5b X-Git-Newrev: efeaf0714cc42f92817ba83a264c100311b9adb9 Message-Id: <20220617142510.5D8943850430@sourceware.org> Date: Fri, 17 Jun 2022 14:25:10 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Jun 2022 14:25:10 -0000 https://gcc.gnu.org/g:efeaf0714cc42f92817ba83a264c100311b9adb9 commit efeaf0714cc42f92817ba83a264c100311b9adb9 Author: Chung-Lin Tang Date: Fri Jun 17 22:17:47 2022 +0800 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: --- gcc/tree-cfg.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 82ca96a746c..63c03f120aa 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