From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1534) id D19D8385B523; Mon, 12 Dec 2022 14:26:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D19D8385B523 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1670855175; bh=4/9Af1Z7QsXkh5u0X0gqwn5ShUYn8SU7My7gSI+t7II=; h=From:To:Subject:Date:From; b=yoB7P2Ms3p495P+H1QJLtulGTHmHWTfeq5RKHKYAqcwrs4Sro9mDejfbxzw5kQdZu ltb5lOggkf+D7JhXa2Ipue6hJRXnckWJ1a+dAE4S1PYkKXKMWV75TBtUKajdfpzESQ fxM5ujJiVTcMBOqI73eFhZj4x3KhGAFLheq24wyc= 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] Merge branch 'releases/gcc-12' into devel/omp/gcc-12 X-Act-Checkin: gcc X-Git-Author: Tobias Burnus X-Git-Refname: refs/heads/devel/omp/gcc-12 X-Git-Oldrev: f9ea81c07e997cae704ce01c9a8ea67d3edcbf5d X-Git-Newrev: daf3af9e5b6da664115207a6dae3706d11cc4614 Message-Id: <20221212142615.D19D8385B523@sourceware.org> Date: Mon, 12 Dec 2022 14:26:15 +0000 (GMT) List-Id: https://gcc.gnu.org/g:daf3af9e5b6da664115207a6dae3706d11cc4614 commit daf3af9e5b6da664115207a6dae3706d11cc4614 Merge: f9ea81c07e9 1a8af012222 Author: Tobias Burnus Date: Mon Dec 12 13:20:32 2022 +0100 Merge branch 'releases/gcc-12' into devel/omp/gcc-12 Merge up to r12-8979-g1a8af012222a8386fcda16a61dc17f11ba9cfbfd (12th Dec 2022) Diff: gcc/ChangeLog | 20 ++++ gcc/DATESTAMP | 2 +- gcc/cfghooks.cc | 1 + gcc/common/config/i386/cpuinfo.h | 50 +++++----- gcc/config/i386/i386-builtins.cc | 60 ++++++------ gcc/d/ChangeLog | 15 +++ gcc/d/decl.cc | 12 ++- gcc/d/imports.cc | 14 +++ gcc/doc/extend.texi | 22 ++--- gcc/gimple-ssa-warn-access.cc | 52 ++++------ gcc/gimple-ssa-warn-alloca.cc | 1 + gcc/testsuite/ChangeLog | 18 ++++ gcc/testsuite/g++.dg/vect/pr107766.cc | 23 +++++ gcc/testsuite/gcc.dg/Wdangling-pointer-pr106868.c | 14 +++ gcc/testsuite/gcc.dg/pr107686.c | 16 ++++ gcc/testsuite/gcc.dg/torture/pr107407.c | 26 +++++ gcc/testsuite/gcc.dg/torture/pr107833.c | 33 +++++++ gcc/testsuite/gcc.dg/uninit-pr107839.c | 13 +++ gcc/testsuite/gcc.target/i386/builtin_target.c | 5 + gcc/testsuite/gcc.target/i386/pr107647.c | 17 ++++ gcc/testsuite/gdc.dg/imports/pr108050/mod1.d | 2 + gcc/testsuite/gdc.dg/imports/pr108050/mod2.d | 2 + gcc/testsuite/gdc.dg/imports/pr108050/package.d | 2 + gcc/testsuite/gdc.dg/pr108050.d | 4 + gcc/testsuite/gfortran.dg/graphite/pr107865.f90 | 18 ++++ gcc/tree-cfg.cc | 2 + gcc/tree-ssa-dse.cc | 17 ++-- gcc/tree-ssa-forwprop.cc | 6 +- gcc/tree-ssa-loop-im.cc | 24 ++++- gcc/tree-ssa-loop-ivopts.cc | 111 ---------------------- gcc/tree-ssa.cc | 93 ++++++++++++++++++ gcc/tree-ssa.h | 25 +++++ gcc/tree-vect-slp-patterns.cc | 15 ++- 33 files changed, 504 insertions(+), 231 deletions(-) diff --cc gcc/tree-ssa-loop-im.cc index 3e09bb19ed3,3926e5c14a4..99d0a0194da --- a/gcc/tree-ssa-loop-im.cc +++ b/gcc/tree-ssa-loop-im.cc @@@ -46,9 -46,8 +46,10 @@@ along with GCC; see the file COPYING3 #include "alias.h" #include "builtins.h" #include "tree-dfa.h" + #include "tree-ssa.h" #include "dbgcnt.h" +#include "graphite-oacc.h" +#include "internal-fn.h" /* TODO: Support for predicated code motion. I.e. @@@ -333,8 -332,8 +334,8 @@@ enum move_po because it may trap), return MOVE_PRESERVE_EXECUTION. Otherwise return MOVE_IMPOSSIBLE. */ - enum move_pos - movement_possibility (gimple *stmt, bool restrict_oacc_hoisting) + static enum move_pos -movement_possibility_1 (gimple *stmt) ++movement_possibility_1 (gimple *stmt, bool restrict_oacc_hoisting) { tree lhs; enum move_pos ret = MOVE_POSSIBLE; @@@ -436,6 -423,23 +437,23 @@@ return ret; } + static enum move_pos -movement_possibility (gimple *stmt) ++movement_possibility (gimple *stmt, bool restrict_oacc_hoisting) + { - enum move_pos pos = movement_possibility_1 (stmt); ++ enum move_pos pos = movement_possibility_1 (stmt, restrict_oacc_hoisting); + if (pos == MOVE_POSSIBLE) + { + use_operand_p use_p; + ssa_op_iter ssa_iter; + FOR_EACH_PHI_OR_STMT_USE (use_p, stmt, ssa_iter, SSA_OP_USE) + if (TREE_CODE (USE_FROM_PTR (use_p)) == SSA_NAME + && ssa_name_maybe_undef_p (USE_FROM_PTR (use_p))) + return MOVE_PRESERVE_EXECUTION; + } + return pos; + } + + /* Compare the profile count inequality of bb and loop's preheader, it is three-state as stated in profile-count.h, FALSE is returned if inequality cannot be decided. */