From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1534) id E1EBD3853546; Fri, 21 Oct 2022 13:34:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E1EBD3853546 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1666359271; bh=KR7TYGxwxgEBGioX9UI5eHFIZE1YsNHKgYMoSUuyMAs=; h=From:To:Subject:Date:From; b=Nt4PX1stx4UYlSizTolQWIayvETerzc3q9WJAt8mcb6I3TFaHCBw5p3mjDrynSQnZ B4AOAvgXhEf23ItaRxlcRbVbm4r2MMMkm9aWmutDs7LzK5tGyuqxacXb+NyQElYr2Q Fri8UGCYoKgi8fveBqZgo/dg5WOR1LEN4CgOM5x4= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Tobias Burnus To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/omp/gcc-12] omp-oacc-kernels-decompose.cc: fix -fcompare-debug with GIMPLE_DEBUG X-Act-Checkin: gcc X-Git-Author: Tobias Burnus X-Git-Refname: refs/heads/devel/omp/gcc-12 X-Git-Oldrev: 76a8871e586d5d434a75d01df71ba37448cdfebb X-Git-Newrev: 20477bb3ce743660a0be2c41ad56094fe1f802e0 Message-Id: <20221021133431.E1EBD3853546@sourceware.org> Date: Fri, 21 Oct 2022 13:34:31 +0000 (GMT) List-Id: https://gcc.gnu.org/g:20477bb3ce743660a0be2c41ad56094fe1f802e0 commit 20477bb3ce743660a0be2c41ad56094fe1f802e0 Author: Tobias Burnus Date: Fri Oct 21 15:31:25 2022 +0200 omp-oacc-kernels-decompose.cc: fix -fcompare-debug with GIMPLE_DEBUG GIMPLE_DEBUG were put in a parallel region of its own, which is not only pointless but also breaks -fcompare-debug. With this commit, they are handled like simple assignments: those placed are places into the same body as the loop such that only one parallel region remains as without debugging. This fixes the existing testcase libgomp.oacc-c-c++-common/kernels-loop-g.c. Note: GIMPLE_DEBUG are only accepted with -fcompare-debug; if they appear otherwise, decompose_kernels_region_body rejects them with a sorry (unchanged). gcc/ * omp-oacc-kernels-decompose.cc (top_level_omp_for_in_stmt, decompose_kernels_region_body): Handle GIMPLE_DEBUG like simple assignment. Diff: --- gcc/ChangeLog.omp | 6 ++++++ gcc/omp-oacc-kernels-decompose.cc | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp index 32a8c7b485f..e032c05148b 100644 --- a/gcc/ChangeLog.omp +++ b/gcc/ChangeLog.omp @@ -1,3 +1,9 @@ +2022-10-21 Tobias Burnus + + * omp-oacc-kernels-decompose.cc (top_level_omp_for_in_stmt, + decompose_kernels_region_body): Handle GIMPLE_DEBUG like + simple assignment. + 2022-10-19 Tobias Burnus * omp-expand.cc (expand_omp_target): Fix OpenACC in case there diff --git a/gcc/omp-oacc-kernels-decompose.cc b/gcc/omp-oacc-kernels-decompose.cc index 4e940c1ee0f..a7e3d764d52 100644 --- a/gcc/omp-oacc-kernels-decompose.cc +++ b/gcc/omp-oacc-kernels-decompose.cc @@ -120,7 +120,8 @@ top_level_omp_for_in_stmt (gimple *stmt) for (gsi = gsi_start (body); !gsi_end_p (gsi); gsi_next (&gsi)) { gimple *body_stmt = gsi_stmt (gsi); - if (gimple_code (body_stmt) == GIMPLE_ASSIGN) + if (gimple_code (body_stmt) == GIMPLE_ASSIGN + || gimple_code (body_stmt) == GIMPLE_DEBUG) continue; else if (gimple_code (body_stmt) == GIMPLE_OMP_FOR && gsi_one_before_end_p (gsi)) @@ -1398,7 +1399,7 @@ decompose_kernels_region_body (gimple *kernels_region, tree kernels_clauses) = (gimple_code (stmt) == GIMPLE_ASSIGN && TREE_CODE (gimple_assign_lhs (stmt)) == VAR_DECL && DECL_ARTIFICIAL (gimple_assign_lhs (stmt))); - if (!is_simple_assignment) + if (!is_simple_assignment && gimple_code (stmt) != GIMPLE_DEBUG) only_simple_assignments = false; } }