From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2066) id 7DEE539524A2; Thu, 19 Mar 2020 06:05:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7DEE539524A2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1584597957; bh=Yj+8FJ8rQ7kdJVApGTtxoD3ZhisXae18GjF5t6UO0fY=; h=From:To:Subject:Date:From; b=f2lfNL1r/tNTJaYomy/J0DfnylSDJ6CCm6nLHdbQADOnVYF1y9EuMxhX0LlR++5eU vl1u4Q03GaaJZwE52mIDzAYihctK85hjnsmtoYW7BFhJtAaa2I7EQMoJEoVsIOQi9N +ehMMAoQALhLq0uyr4sUwNnPynoGhEO/yaTjSz8Q= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Jiu Fu Guo To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/vendors/ibm/heads/perf)] tree-optimization/93964 - adjust ISL code generation for pointer params X-Act-Checkin: gcc X-Git-Author: Richard Biener X-Git-Refname: refs/vendors/ibm/heads/perf X-Git-Oldrev: c7ec2f9ff6d064c4d446dbf521d554eb10254d34 X-Git-Newrev: dca54007ebb5d49c3d6cea63ee87fd8f3ccb9ca5 Message-Id: <20200319060557.7DEE539524A2@sourceware.org> Date: Thu, 19 Mar 2020 06:05:57 +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: Thu, 19 Mar 2020 06:05:57 -0000 https://gcc.gnu.org/g:dca54007ebb5d49c3d6cea63ee87fd8f3ccb9ca5 commit dca54007ebb5d49c3d6cea63ee87fd8f3ccb9ca5 Author: Richard Biener Date: Wed Mar 4 10:40:32 2020 +0100 tree-optimization/93964 - adjust ISL code generation for pointer params Pointers eventually need intermediate conversions in code generation. Allowing them is much easier than fending them off since niter and scev expansion easily drag those in. 2020-02-04 Richard Biener PR tree-optimization/93964 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): Add intermediate conversion for pointer to integer converts. * graphite-scop-detection.c (assign_parameter_index_in_region): Relax assert. * gcc.dg/graphite/pr93964.c: New testcase. Diff: --- gcc/ChangeLog | 9 +++++++++ gcc/graphite-isl-ast-to-gimple.c | 3 +++ gcc/graphite-scop-detection.c | 1 - gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/graphite/pr93964.c | 19 +++++++++++++++++++ 5 files changed, 36 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a08bdaf8ecd..82b66089c8a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2020-02-04 Richard Biener + + PR tree-optimization/93964 + * graphite-isl-ast-to-gimple.c + (gcc_expression_from_isl_ast_expr_id): Add intermediate + conversion for pointer to integer converts. + * graphite-scop-detection.c (assign_parameter_index_in_region): + Relax assert. + 2020-03-04 Martin Liska PR c/93886 diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c index c08a259a80e..ef93fda2233 100644 --- a/gcc/graphite-isl-ast-to-gimple.c +++ b/gcc/graphite-isl-ast-to-gimple.c @@ -265,6 +265,9 @@ gcc_expression_from_isl_ast_expr_id (tree type, tree t = res->second; if (useless_type_conversion_p (type, TREE_TYPE (t))) return t; + if (POINTER_TYPE_P (TREE_TYPE (t)) + && !POINTER_TYPE_P (type) && !ptrofftype_p (type)) + t = fold_convert (sizetype, t); return fold_convert (type, t); } diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c index ed12fea801b..75f81227f8a 100644 --- a/gcc/graphite-scop-detection.c +++ b/gcc/graphite-scop-detection.c @@ -1102,7 +1102,6 @@ static void assign_parameter_index_in_region (tree name, sese_info_p region) { gcc_assert (TREE_CODE (name) == SSA_NAME - && INTEGRAL_TYPE_P (TREE_TYPE (name)) && ! defined_in_sese_p (name, region->region)); int i; tree p; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a13a0a4ba59..cbf17163195 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-02-04 Richard Biener + + PR tree-optimization/93964 + * gcc.dg/graphite/pr93964.c: New testcase. + 2020-03-04 Jakub Jelinek PR tree-optimization/94001 diff --git a/gcc/testsuite/gcc.dg/graphite/pr93964.c b/gcc/testsuite/gcc.dg/graphite/pr93964.c new file mode 100644 index 00000000000..80fc523b855 --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/pr93964.c @@ -0,0 +1,19 @@ +/* { dg-do compile } */ +/* { dg-options "-O -floop-nest-optimize" } */ + +int * +eo (void); + +void +g4 (int *nt) +{ + int dh, t2 = (__INTPTR_TYPE__)eo (); + + for (dh = 0; dh < 2; ++dh) + { + int m7; + + for (m7 = 0; m7 < t2; ++m7) + nt[m7] = 0; + } +}