!363 Fix efl compilation issue

From: @eastb233 
Reviewed-by: @li-yancheng 
Signed-off-by: @li-yancheng
This commit is contained in:
openeuler-ci-bot 2023-12-05 11:32:43 +00:00 committed by Gitee
commit 7c4296a7f7
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 75 additions and 1 deletions

View File

@ -0,0 +1,70 @@
From e0e3ff695ab4f56d3a69e42303a9af13a23fcc15 Mon Sep 17 00:00:00 2001
From: xiezhiheng <xiezhiheng@huawei.com>
Date: Tue, 5 Dec 2023 14:25:14 +0800
Subject: [PATCH] [Backport] re PR tree-optimization/84552 (Compile time hog w/
-O2 -floop-nest-optimize -fno-tree-copy-prop -fno-tree-fre
-fno-tree-loop-ivcanon)
Reference: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=24545562ca5ece2615f8178ad6c6eb0be4fe6b3f
---
gcc/testsuite/gcc.dg/graphite/pr84552.c | 23 +++++++++++++++++++++++
gcc/tree-scalar-evolution.c | 6 +++++-
2 files changed, 28 insertions(+), 1 deletion(-)
create mode 100644 gcc/testsuite/gcc.dg/graphite/pr84552.c
diff --git a/gcc/testsuite/gcc.dg/graphite/pr84552.c b/gcc/testsuite/gcc.dg/graphite/pr84552.c
new file mode 100644
index 000000000..15cbb0848
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/pr84552.c
@@ -0,0 +1,23 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -floop-nest-optimize -fno-tree-copy-prop -fno-tree-fre -fno-tree-loop-ivcanon" } */
+
+int cx;
+
+int
+e6 (int pj, int xe)
+{
+ for (cx = 0; cx < 2; ++cx)
+ while (xe < 1)
+ {
+ for (cx = 0; cx < 2; ++cx)
+ pj *= 2;
+
+ if (cx != 0)
+ goto o3;
+
+ ++xe;
+ }
+
+o3:
+ return pj;
+}
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index cbd17e864..790050a20 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -280,6 +280,7 @@ along with GCC; see the file COPYING3. If not see
#include "params.h"
#include "tree-ssa-propagate.h"
#include "gimple-fold.h"
+#include "tree-into-ssa.h"
static tree analyze_scalar_evolution_1 (struct loop *, tree, tree);
static tree analyze_scalar_evolution_for_address_of (struct loop *loop,
@@ -1532,7 +1533,10 @@ static tree
follow_copies_to_constant (tree var)
{
tree res = var;
- while (TREE_CODE (res) == SSA_NAME)
+ while (TREE_CODE (res) == SSA_NAME
+ /* We face not updated SSA form in multiple places and this walk
+ may end up in sibling loops so we have to guard it. */
+ && !name_registered_for_update_p (res))
{
gimple *def = SSA_NAME_DEF_STMT (res);
if (gphi *phi = dyn_cast <gphi *> (def))
--
2.19.1

View File

@ -41,7 +41,7 @@ Version: 7.3.0
# number 2020033101 meaning the openEuler 20.03 release date plus 01 to
# replace DATE and will never change it in the future.
%global openEulerDATE 2020033101
Release: %{openEulerDATE}.56
Release: %{openEulerDATE}.57
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
Group: Development/Languages
#Source0: hcc-aarch64-linux-release.tar.bz2
@ -104,6 +104,7 @@ Patch54: Backport-AArch64-Add-tsv110-pipeline-scheduling.patch
Patch55: Backport-Rework-cold-and-hot-label-attributes-in-pre.patch
Patch56: Backport-Learn-GIMPLE-pretty-printer-to-produce-nice.patch
Patch57: Backport-AArch64-Fix-longbranch-test.patch
Patch58: Backport-re-PR-tree-optimization-84552-Compile-time-.patch
#AutoReqProv: off
AutoReq: true
@ -3336,6 +3337,9 @@ fi
%changelog
* Tue Dec 05 2023 eastb233 <xiezhiheng@huawei.com> - 7.3.0-2020033101.57
- Fix efl compilation issue.
* Mon Nov 27 2023 eastb233 <xiezhiheng@huawei.com> - 7.3.0-2020033101.56
- Fix incorrect port of tsv110 pipeline.